1013 단어
5 분
웹 통신 흐름 (google 접속 시 일어나는 일)
2025-08-04

어째선지 가끔 물어봐서 정리하게 되는 것인데, 쉽게 풀어서 적어봄

1. 개요#

브라우저 주소창에 www.google.com을 입력하고 엔터를 치면, 사용자가 보는 화면이 뜰 때까지 네트워크 상에서는 많은 과정이 일어남

NOTE

크게 IP 주소 획득(DNS), 서버 연결(TCP/IP), 데이터 요청 및 수신(HTTP), 화면 렌더링 단계로 나눌 수 있음

2. 주요 단계별 상세 흐름#

IP 주소 찾기 (DNS Lookup)#

브라우저는 사람이 이해하기 쉬운 도메인 이름(google.com)을 컴퓨터가 이해하는 IP 주소(142.250.xxx.xxx)로 변환해야 함

  1. 브라우저 캐시 확인: 브라우저는 이전에 방문한 적이 있는지 자신의 캐시를 먼저 찾아봄
  2. OS 캐시 확인: 브라우저에 없으면 운영체제(OS)의 hosts 파일이나 캐시를 확인
  3. Router 캐시 확인: 공유기(Router)의 캐시 확인
  4. ISP(통신사) DNS 서버 요청: 위 단계에 모두 없으면, 설정된 DNS 서버(보통 통신사 제공)에 요청을 보냄
  5. 재귀적 쿼리 (Recursive Query):
    • Root DNS 서버 → .com 관리 서버 → google.com 관리 서버 순으로 물어보며 최종 IP 주소를 획득

서버와 연결 수립 (TCP Connection)#

IP 주소를 알았으니 구글 서버와 통신할 준비하는데, 이때 신뢰성 있는 전송을 위해 TCP/IP 프로토콜을 사용

  1. 3-Way Handshake: 클라이언트와 서버가 서로 연결을 맺기 위해 3단계 절차를 거침
    • SYN: 클라이언트 → 서버 (연결 요청)
    • SYN + ACK: 서버 → 클라이언트 (요청 수락 및 연결 요청)
    • ACK: 클라이언트 → 서버 (수락 확인)
  2. HTTPS (TLS/SSL Handshake): 보안 연결을 위해 암호화 키를 교환하는 과정이 추가됨 (데이터 암호화 준비)

데이터 요청 및 응답 (HTTP Request/Response)#

연결이 되면 실제 데이터를 달라고 요청

  1. Request (요청): 브라우저가 구글 서버에 GET / HTTP/1.1 같은 메시지를 보냄 (메인 페이지 줘)
  2. Processing (처리): 구글 서버(웹 서버 → WAS → DB)가 요청을 받아 필요한 데이터를 찾거나 가공함
  3. Response (응답): 서버가 찾은 HTML 문서를 HTTP 상태 코드(200 OK 등)와 함께 브라우저로 보냄

브라우저 렌더링 (Rendering)#

서버로부터 받은 HTML 데이터를 사용자가 볼 수 있는 화면으로 그림

  1. HTML 파싱: HTML을 분석하여 DOM Tree 생성
  2. CSS 파싱: CSS를 분석하여 CSSOM Tree 생성
  3. Render Tree 생성: DOM과 CSSOM을 합쳐 실제 화면에 표시될 요소들로 트리를 만듦
  4. Layout (Reflow): 각 요소가 화면 어디에 위치할지 크기와 좌표를 계산함
  5. Paint: 계산된 위치에 색을 칠하고 픽셀을 그림
  6. Composite: 여러 레이어를 합성하여 최종 화면을 보여줌

3. 핵심 용어 정리#

  • DNS (Domain Name System): 도메인 이름을 IP 주소로 바꿔주는 전화번호부 같은 시스템
  • TCP (Transmission Control Protocol): 데이터가 누락 없이 안정적으로 전송되도록 돕는 프로토콜
  • 3-Way Handshake: TCP 연결을 맺기 위한 3단계 인사 과정
  • HTTP/HTTPS: 웹에서 데이터를 주고받기 위한 규약 (S는 Secure, 보안 강화)
  • 렌더링(Rendering): HTML/CSS 코드를 해석해서 눈에 보이는 화면으로 그려내는 과정
TIP
  • 보통 연계기 들어가기 좋은 질문이 ‘구글 접속할 때 일어나는 일’ 입니다.
  • 이거 하나로 꼬리 질문 수십개 만들 수 있는데, 그냥 이 페이지에 적힌 글자나 단어 설명 못하는 건 다 공부하는 편이 좋습니다.
  • 쉽게 풀어쓰긴 했는데 서버 운영을 해보지 않았다면 조금 어렵다 느낄 수 있습니다
  • OSI 7계층 관점은 저는 꼬리질문 빡세서 그냥 모른다고 합니다
웹 통신 흐름 (google 접속 시 일어나는 일)
https://devlog.jpstudy.org/posts/2025/cs/webgoogle/
저자
SY
게시일
2025-08-04
라이선스
CC BY-NC-ND 4.0