웹 브라우저에 URL 입력 후 Enter를 눌렀을 때 일어나는 과정
ex. https://www.google.com
주소창에 URL을 입력하고 Enter를 누른다.
웹 브라우저는 DNS 캐시를 조회해 해당 도메인에 매핑되는 IP 주소를 찾는다.
DNS 서버: 도메인 이름과 매칭이 되는 IP 주소의 데이터베이스를 모아둔 서버
DNS 캐시: 최근 방문한 사이트의 도메인 정보와 IP 주소를 기록해둔 것
캐시에서 못 찾으면 DNS 서버에 해당 도메인에 매핑되는 IP 주소를 찾아달라고 요청한다.
웹 서버로 HTTP 요청을 보낸다.
TCP 통신을 위해 클라이언트와 서버 간 소켓 연결
3-way Handshake
www.google.com
웹 페이지에 대한 HTTP 요청 메시지를 만들고 GET 요청을 보냄
웹 브라우저가 HTTP 메시지 생성
SOCKET 라이브러리를 통해 전달
TCP/IP 연결, 데이터 전달
웹 서버가 요청을 처리하고 다시 HTTP 응답을 보낸다.
요청이 도착하면 해당 요청을 검사해 서버로 보낼지 결정
캐시 서버 → 웹 서버에서 요청을 처리
HTTP 응답 메시지를 만들고 클라이언트에게 다시 전송
(응답 메시지: HTTP 버전, 결과 코드, Content-Type 등)
웹 브라우저가 HTML 콘텐츠를 렌더링한다.
응답 헤더의 Content-Type
을 확인해 렌더링 방식을 결정
HTML 구조 렌더링 → HTML Tag 확인(이미지, CSS, JS)
이 중 정적 컨텐츠는 브라우저에 캐싱됨
참고