TIL 6. WEB - 웹의 동작원리

Byoungju Park·2021년 6월 24일
0
post-custom-banner

1. 웹클라이언트와 웹서버

우리의 웹브라우저에서 어느 웹페이지에 접속할 때 내부에서는 어떤 일이 벌어질까? 생각보다 많은 절차를 걸치게 된다. 이 절차를 네이버에 접속하는 경우를 예시로 들어 구체적으로 파악해보자.

먼저 네이버에 접속하기 위해 네이버 주소를 주소창에 입력한다.
여기서 사용자는 네이버 접속을 요청 즉, Request 하였다.
웹상에서 Request 하는 쪽을 웹클라이언트라고 표현한다.

요청을 받은 네이버는 페이지 소스코드를 전송한다.
이후 화면에 네이버 페이지가 표시된다.
네이버는 웹클라이언트의 요청에 응답 즉, Response 하였다.
Response를 한 네이버는 웹서버가 된다.

이처럼 인터넷은 웹클라이언트와 웹서버의 수많은 상호작용이 이루어지는 곳이다.

2. DNS서버

위의 사용자는 네이버 도메인 주소를 입력하였다. 하지만 웹클라이언트인 우리의 컴퓨터는 네이버의 IP를 통해 요청하였다. 웹클라이언트는 어떻게 IP 주소를 알 수 있는 것일까?

도메인 주소와 IP를 관리하는 DNS서버(Domain Name System Server) 가 있기 때문이다. 그리고 DNS서버는 root domain 서버, top level domain 서버, sub domain 서버와 연결되어 있다. 이들 서버를 도메인 주소와 연관지어서 알아보자.

도메인 이름은 각각의 의미와 역할을 가지고 있다.
http://www.naver.com.

  • .(com뒤의 dot) : root domain 서버를 의미한다. 루트 도메인 서버로 연결해주며, .(dot)은 보통 생략되어 있다.
  • com : top level domain 서버를 의미한다. 최상위 도메인 서버에는 com 외에도 net, org 등이 있고 국가코드를 의미하는 kr, jp등도 여기에 포함된다.
  • naver : sub domain 서버를 의미한다. 우리가 자율적으로 이름을 만들 수 있다.

각각의 서버는 직속 하위 서버의 IP만 알고 있다. 따라서 DNS서버는 다음과 같이 여러번 요청하게 된다.
1. 웹클라이언트는 DNS서버에게 도메인 주소를 가지고 IP를 알려달라고
2. DNS서버는 맨 처음 root domain 서버에게 도메인 주소를 보낸다.
3. root domain 서버는 top level domain 서버 IP를 응답한다.
4. DNS서버는 top level domain 서버에게 도메인 주소를 보낸다.
5. top level domain 서버는 sub domain 서버 IP를 응답한다.
6. DNS서버는 sub domain 서버에게 도메인 주소를 보낸다.
7. sub domain은 도메인 주소의 IP를 응답한다.
8. DNS서버는 웹클라이언트에게 해당 IP를 응답한다.

이로써 웹클라이언트는 웹서버의 IP를 알게되었고 웹서버에게 요청할 수 있는 것이다.

profile
wanna be good programmer
post-custom-banner

0개의 댓글