주소창에 www.google.com을 입력하면?

주소창에 www.google.com을 입력하고 enter를 누름
2. 브라우저에서 www.google.com의 IP 주소를 찾기위해 캐시의 DNS 기록 확인
- DNS(Domain Name System)은 웹사이트의 IP주소와 도메인 주소를 연결해주는 시스템
- 인터넷의 모든 URL에는 고유 IP주소가 할당되어 있음
- IP주소는 웹사이트 서버를 호스트하는 컴퓨터에 속함
- 여기서 www.google.com의 IP주소는
142.250.196.110
- 즉, https://142.250.196.110을 입력해도 같은 결과를 가짐
터미널에서 nslookup google.com을 통해 알수 있음
- DNS의 역할은 사람들이 쉽게 주소를 찾도록 하는 역할
- 브라우저에서 탐색하는 캐시
- 브라우저의 캐시 - 이전에 방문한 웹사이트의 DNS 기록을 일정 기간동안 저장
- OS의 캐시 - 내 컴퓨터 OS에 시스템 호출을 통해 기록 검색
- 라우터의 캐시 - 라우터에 저장된 기록 검색
- ISP의 캐시 - ISP(Internet Service Provider)는 DSN 서버를 가지고 있으며, 해당 서버에서 검색 가능
3. URL(www.google.com)의 캐시가 없는 경우, ISP 서버가 DNS 쿼리를 통해 호스팅 서버 IP주소 검색
- 캐시에 정보가 없는 경우, 올바른 IP주소 탐색시까지 DNS 서버 검색 진행
- 재귀적 질의(Recursive Query)를 통해서 계속해서 반복해서 검색
- ISP의 DNS 서버를 DNS 리커서(Recursor)라고 부르며 다른 DNS 서버에 답변을 요청해 의도된 도메인 이름의 적절한 IP 주소 찾는 일 담당
- 웹 사이트 URL은 3차 도메인, 2차 도메인 및 최상위 도메인(TLD: Top Level Domain)으로 이루어짐
- 각 단계에서 DNS 룩업 (lookup) 도중에 쿼리되는 고유한 네임서버 존재
- www.google.com을 찾을 때, 루트 네임 서버(Root Name Server)에 연결
- 리커서를
.com
도메인 네임 서버로 리디렉션, 이후 google.com
네임 서버로 리디렉션 진행, 일치하는 IP주소 찾으면 DNS 리커서로 반환 후 리커서가 브라우저로 전달
4. 브라우저가 해당 서버와 TCP 연결 시작
5. 브라우저가 웹서버에 HTTP 요청을 보냄
- 웹페이지를 요청하는 GET 요청을 보냄

- Header에 여러가지 값들이 포함되어 있으며 이를 통해 GET요청을 진행
6. 서버가 요청을 처리
- 서버에 있는 웹 서버가 요청을 수신하고, 해당 내용을 Request handler에 전달하여 응답을 읽고 생성하는 역할
- Request handler는 요청, 요청의 헤더 및 쿠키를 읽고 필요한 경우 서버의 정보를 업데이트
- 이후 reponse를 특정 포맷으로 작성
7. 서버가 HTTP 응답 보냄
- 서버 응답에 상태코드, 압축 유형, 쿠키 등 포함된 데이터를 HTTP Response 형태로 전송

- status code 종류
- 1xx(Information Response): 정보 메시지만 전달하며, 연결된 클라이언트는 계속 작업을 진행하라는 뜻
- 2xx(Successful Response): 서버와의 요청이 성공
- 3xx(Redirection Message): 요청 완료를 위한 추가 작업 조치가 필요
- 4xx(Client Error Response): 클라이언트의 Request에 에러가 있음
- 5xx(Server Error): 서버 측의 오류가 발생
8. 브라우저가 HTML 컨텐츠를 보여줌
- 응답받은 HTML,CSS,JS등을 이용해 화면을 표현해서 브라우저 창에 띄워줌
참조
브라우저에 url을 입력하면 어떤일이 벌어질까?:https://velog.io/@khy226/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-url%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%98%EB%A9%B4-%EC%96%B4%EB%96%A4%EC%9D%BC%EC%9D%B4-%EB%B2%8C%EC%96%B4%EC%A7%88%EA%B9%8C