사용자가 www.google.com을 입력하면, 컴퓨터는 142.250.196.100같은 숫자 주소(IP)만 알아듣기 때문에, 브라우저는 먼저 이 도메인 이름을 IP 주소로 변환해야 한다. 이 과정을 DNS 조회(DNS Lookup)라고 한다. 브라우저는 캐시된 DNS 기록을 먼저 확인하고, 없으면 로컬 DNS 서버에 요청하여 www.google.com에 해당하는 IP 주소를 얻는다.
IP 주소가 확인되면, 브라우저는 서버와 TCP 연결을 수립한다. TCP(Transmission Control Protocl)는 데이터를 신뢰성 있게 전달하기 위한 프로토콜이다. 이 과정에서 브라우저는 서버와 3-way handshake를 수행한다. 즉, 브라우저가 SYN 패킷을 보내고, 서버가 SYN-ACK 패킷을 보내며, 다시 브라우저가 ACK 패킷을 보내는 과정이다.
TCP 연결이 수립되면, 브라우저는 HTTP 또는 HTTPS 요청을 보낸다. 이 요청은 "GET / HTTP/1.1"같은 형식으로, 웹 페이지를 요청하는 메시지이다. 만약 HTTPS를 사용할 경우, 이 단계 이전에 SSL/TLS 핸드셰이크도 수행된다. 이 과정에서는 브라우저와 서버가 암호화된 연결을 설정하기 위해 보안 인증서를 교환하고, 암호화 키를 협상한다.
서버는 요청을 받고, 해당 리소스(HTML, CSS, JavaScript, 이미지 등)를 브라우저에게 응답으로 보낸다. 이 응답은 HTTP 응답 코드(예: 200 OK)와 함께 전달된다.
마지막으로 받은 리소스들을 바탕으로 브라우저 렌더링 파이프라인을 진행한다. DOM과 CSSOM을 생성하고, 렌더 트리를 구성한 뒤, 레이아웃과 페인트 단계를 통해 웹 페이지가 화면에 표시된다.