원하는 웹사이트에 접속하기 위해서는 www.google.com같은 도메인주소가 아닌 111.0.0.1 과 같은 IP주소가 필요함.
근데 일일히 외우고 다니기 힘드니까 DNS 서버라는게 존재한다.
Domain Name System의 약자로 URL(www.google.com) 과 IP주소를 저장하고 있는 데이터베이스이다. 오늘날의 전화번호부같은 것
DNS캐시는 컴퓨터가 가지고있는 임시 데이터베이스로 최근 방문 사이트를 기록했다가 DNS가 필요할 때 빠르게 참조하는 것임 DNS서버를 이용하는것 보다 로컬이 빠른 것
브라우저는 4가지 캐시
Brower캐시, OS 캐시(systemcall) router캐시 ,ISP 캐시(인터넷 서비스 공급자, SK, LG 등) 4개로 네트워크 트래픽 조절과 데이터 전송 시간을 줄여준다
로컬에 저장했던 캐시에 없다면 이제 인터넷 공급자들인 ISP의 DNS서버에서 검색한다.
이를 Recursive Query, (재귀 질의)
DNS가 질의한 도메인에 대해서
IP주소를 얻었으니 연결을 해본다.
연결은 서버와 HTTP 연결을 한다.
프로토콜, 보편적 약속은 TCP를 사용한다.
TCP/IP three-way handshake라는 프로레스를 통해서 클라이언트(접속을 시도하는 우리)와 서버를 연결시켜준다.
TCP/IP연결이 안료되었으면, 데이터 전송을하면된다.
클라이언트는 GET요청을해서 서버에서 www.google.com 웹페이지를 요구함
서버가 가지고 있는 웹서버에서 브라우저의 요청을 읽고 response를 만듬
그걸 특정한 포맷(JSON, XML, HTML)로 작성함
이 response에는 요청한 웹페이지, 코드, 쿠키, 개인정보 등등이 있음
브라우저는 HTML 을 우리가 보는 방식으로 렌더링해서 보여줌
이 HTML들을 브라우저가 캐싱해서 나중에 이걸 반복하지 않아도 되게 함