도메인 이름 시스템 서버는 도메인 이름에 매핑되는 IP 주소를 저장하는 서버입니다.
숫자로 된 주소 ( ex. 112.451.562.53 ) 를 사용자가 편리하게 www.domain.com 처럼 도메인으로 매핑해 주는 역할을 합니다.
전송 제어 규약
과 인터넷 규약
은 웹 환경에서 데이터가 어떻게 전송되는지 정의하는 통신 규약입니다.
이는 IP 주소 체계를 따르며 TCP 의 특성을 활용해 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지하는 역할을 합니다. 즉 송신자는 수신자에게 IP 주소를 활용하여 데이터를 전송하고 전송됐는지 확인합니다.
더 자세히 말하면 TCP는 전송 제어 규약으로 데이터의 전송을 제어하고 어떻게 주고 받을 지 정합니다. IP의 특징인 비연결성과 비신뢰성으로 IP 만으로 통신을 하기 어려워, 신뢰성과 연결성을 위해 TCP를 활용하여 통신을 합니다.
클라이언트와 서버가 통신하기 위해 정의한 규약으로 요청과 응답으로 나뉘어져 있습니다.
이때 캐싱된 DNS 기록이 있다면 3번 4번의 과정은 생략됩니다.
ISP ( Internet Service Provider ) 를 통해 DNS 서버가 호스팅하고 있는 서버의 IP 주소를 찾기 위해 DNS Query를 날립니다.
ISP 의 예시로 SK 브로드밴드 , KT.. 등을 들 수 있습니다.
이때 DNS Query는 해당하는 IP 주소를 찾기위해 여러 DNS 서버를 거치게 되는 Recursive Query
를 수행합니다.
이때 도메인 주소에 점.
를 기준으로 뒤에서부터 해당 도메인에 맞는 Local DNS 부터 탐색하며 root DNS 가 나올때 까지 탐색합니다.
Recursive Query는 정확히 Local DNS 서버가 여러 DNS 서버를 거쳐 답을 찾는 과정을 말합니다. 아래의 그림처럼 도메인 주소인
download.microsoft.com
에 매핑되는 IP 주소를 찾기 위해서 .com -> microsoft.com -> download.microsoft.com 순으로 탐색을 합니다.
TCP/IP를 이용하여 웹 브라우저가 GET 요청을 통해 해당 도메인 서버의 HTML 문서를 요청합니다.
요청을 받으면 웹 서버는 로직이나 데이터베이스의 연동을 위해 WAS 에게 요청을 합니다.
그러면 WAS 동적인 페이지 처리와 DB 에서 필요한 정보를 처리합니다.
이때 Response 로 Status Code
를 함께 보냅니다.
웹 서버 : 정적인 파일을 처리 ( HTML , CSS , 이미지 )
WAS : 동적인 파일을 처리 ( PHP , JS , TS ) 를 처리
웹 서버 혼자서 비즈니스 로직을 수행하고 데이터를 관리할 수 있지만 서버에 부하가 일어날 수 있기 때문에 이를 대신 처리하는 웹 어플리케이션 서버 ( WAS ) 를 사용합니다. 즉 WAS는 사용자의 컴퓨터나 장치에 웹 어플리케이션을 수행하는 미들웨어입니다.
참고 블로그 1 : 링크
참고 블로그 2 : https://superohinsung.tistory.com/85
참고 블로그 3 : 링크