1. 웹의 동작 원리
①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력함.
③ 사용자가 입력한 URL 주소 중에서 도메인 네임(domain name) 부분을 DNS 서버에서 검색함.
④ DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달함.
⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성함.
이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됨.
⑦ 이렇게 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환됨.
⑧ 웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색함.
⑨⑩ 검색된 웹 페이지 데이터는 또 다시 HTTP 프로토콜을 사용하여 HTTP 응답 메시지를 생성함.
이렇게 생성된 HTTP 응답 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전송됨.
⑪ 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환됨.
⑫ 변환된 웹 페이지 데이터는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨.
2. Domain Name
IP주소는 12자리의 숫자로 이루어져 있다. 사용자가 매번 IP주소로 원하는 사이트에 접속하는 것은 번거로울 것이다. 따라서 사람이 알기 쉬운 이름으로 주소를 표현한 것을 도메인 네임이라고 한다.
사람이 만든 도메인 네임을 컴퓨터가 이해하기 쉬운 IP주소로 변환하기 위해서는 DNS(Domain Name System)이 필요하다.
DNS 동작 과정
- 사용자가 웹 브라우저에 www.example.com을 입력한다.
- Local DNS에 IP주소가 존재한다면 바로 반환하고 끝내고 없을 경우 다음과 같은 과정을 거친다.
- DNS 리졸버는 www.example.com에 대한 쿼리를 Root DNS(.) 서버에 요청한다.
- Root DNS 서버는 .com 도메인을 관리하는 TLD DNS 서버의 주소를 담아 응답한다.
- 리졸버는 응답받은 TLD DNS 서버에 요청한다
- TLD는 권한을 가진 도메인 이름 서버의 IP주소를 담아 응답한다.
- 리졸버는 해당 도메인 이름 서버로 쿼리를 요청한다
- 도메인 네임에 대한 권한이 있는 네임서버는 IP주소를 리졸버에게 반환한다.
- DNS 리졸버는 해당 IP 주소를 웹 브라우저에 반환한다. 사용자에게 좀 더 빠르게 응답할 수 있도록 IP 주소를 캐싱한다.
- 브라우저는 받은 IP주소로 www.example.com에 대한 HTTP 요청을 보낸다.
- 해당 IP의 서버는 브라우저에서 렌더링할 요청 받을 웹 페이지를 찾아 반환한다.
'CS > 네트워크' 카테고리의 다른 글
HTTPS의 동작원리 (0) | 2021.09.30 |
---|---|
대칭키 vs 공개키 (0) | 2021.09.30 |
CORS (0) | 2021.09.25 |
웹서버와 WAS (0) | 2021.09.25 |
HTTP 2.0 (0) | 2021.09.19 |