Hi

브라우저 주소창에 www.google.com을 입력하면? 본문

Computer Science

브라우저 주소창에 www.google.com을 입력하면?

seungminleeee 2025. 8. 2. 23:18

브라우저 주소창에 http://www.google.com을 입력하고 엔터를 치면 몇 초도 안 돼서 구글 검색창이 나타난다.
그 짧은 순간 컴퓨터와 인터넷에서 어떤 일이 일어나는지 순서대로 살펴보자.

 

1️⃣ URL 입력과 브라우저 준비

사용자가 주소창에 입력한 것은 URL이다.

https://www.google.com/

브라우저는 이를 해석하여 다음과 같은 정보를 추출한다.

  • 프로토콜: https://
  • 호스트명: www.google.com
  • 포트 번호: 443 (보이지 않지만 HTTPS 기본 포트인 443이 생략되어 있다)
  • 경로: / (홈페이지 루트 주소)

 

2️⃣ DNS

브라우저는 www.google.com이라는 문자열을 직접 이해하지 못한다. 따라서 실제 통신에 필요한 IP 주소를 찾아야 한다.

IP 주소를 찾는 과정은 다음과 같다.

  1. 캐시 확인
    • 브라우저 캐시, 운영체제 DNS 캐시, 라우터 캐시, ISP DNS 캐시에서 먼저 확인한다.
    • 캐시에 있다면 바로 해당 IP를 사용한다.
  2. DNS 질의
    • 캐시에 없다면 DNS 서버에 질의를 수행한다.
    • 루트 서버 → .com 서버 → google.com 네임서버 순서로 물어보며 최종 IP를 가져온다.

이 과정을 거쳐 브라우저는 142.250.196.100과 같은 IP 주소를 얻게 된다.

 

3️⃣ TCP 연결 (3-Way Handshake)

이제 브라우저는 해당 IP의 서버와 TCP 연결을 시도한다.
TCP는 데이터를 순서대로 안정적으로 전달하기 위해 3-way handshake 과정을 거친다.

  1. SYN: 클라이언트 → 서버
    “연결할래!” (초기 SEQ 번호 포함)
  2. SYN-ACK: 서버 → 클라이언트
    “ㅇㅋ 준비했음” (서버 SEQ + 클라이언트 SEQ 확인)
  3. ACK: 클라이언트 → 서버
    “통신시작함”

즉, 브라우저가 SYN 패킷을 보내고, 서버가 SYN-ACK 패킷을 보낸 뒤, 브라우저가 ACK 패킷을 보내면서 TCP 연결이 성립한다.

 

4️⃣ SSL/TLS 핸드셰이크

HTTPS를 사용할 경우 수행되는 단계이다.

  1. ClientHello: 클라이언트가 지원 가능한 암호화 방식과 랜덤 값을 전송한다.
  2. ServerHello: 서버가 선택한 암호화 방식과 SSL 인증서를 제공한다.
  3. 인증서 검증: 브라우저가 서버의 인증서를 확인한다. (CA 체인 검증, 유효기간 체크)
  4. 키 교환: 클라이언트와 서버가 대칭키를 안전하게 교환한 뒤, 이후 모든 데이터는 암호화된다.

 

5️⃣ HTTP 요청과 응답

암호화 채널이 준비되면 브라우저는 서버에 HTTP/HTTPS 요청을 보낸다.
서버는 요청을 받아 해당 리소스를 찾아 응답을 보낸다.

  • 요청: GET / HTTP/1.1
  • 응답: HTTP/1.1 200 OK 와 함께 HTML 문서 반환

 

6️⃣ 브라우저 렌더링

브라우저는 받은 HTML 문서를 다음과 같은 단계를 거쳐 화면에 표시한다.

  1. HTML 파싱 → DOM 트리 생성
  2. CSS 파싱 → CSSOM 생성
  3. JavaScript 실행 → 필요 시 DOM 수정
  4. DOM + CSSOM → Render Tree 생성
  5. Layout: 각 요소의 위치와 크기 계산
  6. Painting: 픽셀로 변환하여 화면에 출력

 

✅ 완료!

이 모든 과정이 수백 밀리초에서 1초 이내에 일어난다.

'Computer Science' 카테고리의 다른 글

0.1 + 0.2가 0.3이 아닌 이유 ?!  (0) 2025.09.11
01. 컴퓨터 구조 이해하기  (0) 2025.03.04