1.DNS조회(DNS Lookup)
사용자가 www.google.com 입력하면 브라우저는 먼저 이 도메인을 IP 주소로 변환한다.
이 과정을 DNS조회(DNS Lookup)이라고 한다.
브라우저는 캐시된 DNS 기록을 먼저 확인하고 없으면 로컬 DNS 서버에 요청하여 도메인에 해당하는 IP주소를 얻는다.
2. TCP 연결 수립
IP주소가 확인되면, 브라우저는 서버와 TCP연결을 수립한다.
이 과정에서 브라우저는 서버와 3-way handshake를 수행한다.
- 브라우저가 서버로 SYN 패킷을 보낸다.
- 서버가 SYN-ACK 패킷을 다시 브라우저로 보낸다.
- 브라우저가 마지막으로 ACK 패킷을 서버로 보내고 마무리
3. HTTP요청
TCP연결이 수립되면 브라우저는 HTTP, HTTPS요청을 보낸다. 이 요청은 웹 페이지를 요청하는 메시지로 만약 HTTPS를 사용할 경우 이 단계 이전에 SSL/TLS handshake도 수행한다.
이 과정에서 브라우저와 서버가 암호화된 연결을 설정하기 위해 보안 인증서를 교환하고 암호화 키를 협상한다.
4. 서버의 응답
서버는 HTTP요청을 받고, 해당 리소스(HTML, CSS, JavaScript, 이미지 등)를 브라우저에게 응답으로 보낸다.
이 응답은 HTTP 응답코드와 함께 전달된다.
5. 브라우저 렌더링 파이프라인
DOM과 CSSOM을 생성하고 렌더 트리를 구성한 뒤 레이아웃과 페인트 단계를 통해 웹 페이지가 화면에 표시된다.