DNS(Domain Name System)
도메인을 IP 주소로 변환하려면 DNS서버에 도메인 쿼리하는 과정은 필수다.
하지만, DNS 서버 없이 로컬에서 도메인과 IP주소를 직접 설정해 사용할 수가 있다.
로컬에서 도메인과 IP주소를 관리하는 파일을 hosts 파일이라고 부른다.
전에 한번 쿼리한 즉, 동일한 도메인을 계속 쿼리한다면 성능면에서 안좋다는건 당연한 일.
따라서 DNS 서버에 쿼리하기전, DNS 캐시 정보를 먼저 확인한다.
DNS서버에 쿼리하여 응답받은 정보는 캐시에 저장되므로
@ www.naver.com을 주소창에 입력하면 어떤일이 일어나는지?
1. 텍스트 정보확인
2. 네트워크 호출
3. 렌더링
여기서 네트워크 호출에 관해 다뤄보면,
브라우저가 네이버라는 사이트를 화면에 출력하려면 여러 데이트를 가지고 있어야하는데,
이 데이터는 서버 컴퓨터와 통신하여 받아와야한다.
크게 두가지 과정으로 나눠볼 수 있다.
1. 네이버 서버의 ip address 찾기
(1) 자신의 hosts 파일에서 도메인 네임에 대응하는 ip 주소 있는지 먼저 확인한다.
(2) 로컬에 있는 DNS 캐시 확인
(3) DNS 질의
2. 알아낸 주소 기반으로 서버와 통신하여 데이터 응답받기
(1) 3-way handshaking을 통해 TCP 연결
(2) 연결성공하면 http request
(3) http response로 데이터 응답받기.