[네트워크] https://www.google.com/ 을 접속할 때 일어나는 일
[본문은 아래 링크의 질문들을 정리한 글입니다]
https://github.com/ksundong/backend-interview-question
GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질
백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문,
github.com
1. 브라우저가 URL에 적힌 값을 파싱해서 HTTP Request Message를 만들고, OS에 전송 요청을 합니다. 이 때, Domain으로 요청을 보낼 수 없기 때문에 DNS Lookup을 수행합니다.
DNS lookup 이란??
말 그대로 DNS 를 이용해서 ip 주소를 알아내는 과정이다.
1-1 . 크롬에서 DNS lookup 과정
hosts 파일 → DNS Cache → DNS 서버 질의 의 순서로 도메인에 매칭되는 ip를 찾는다. 일반적으로 설명하는 DNS Lookup은 루트 도메인서버에서부터 서브도메인 서버순으로 찾게됩니다.
hosts 파일 이란??
hosts 파일이란 IP 주소와 도메인 주소를 매핑해주는 파일.
굳이 DNS 에서 도메인에 해당하는 IP를 찾지 않고도 주소를 찾을 수 있게 해주는 파일이다.
DNS Cache 란??
DNS 캐시테이블은 시스템이 최근에 수행한 DNS 조회 결과를 저장하는 메모리 공간을 의미한다. DNS 캐시는 이전에 이미 해결한 도메인 이름에 대한 IP 주소를 저장하여 미래에 동일한 도메인 이름에 대한 추가적인 조회가 필요할 때 네트워크 부하를 줄이고 조회 시간을 단축하는데 도움을 준다.
2. 획득한 IP주소를 가지고 구글 서버와 TCP 연결을 한다.
3. TCP 연결이 끝났으면 구글 서버에 Http Request 를 보낸다.
4. 구글 서버에서 Http Request 에 맞는 Response 를 생성해 사용자에게 보낸다.
위의 과정이 매우 간단하게 생략한 과정.
좀 더 알아볼 것
1. TCP/IP https://real-man-liljay.tistory.com/121
2. DNS 와 분산형 DB
3. GSLB , Health Check
4. CDN