프로그래밍/CS

[네트워크] 웹 브라우저에 www.google.com 입력하면 일어나는 일

노란구슬 2026. 6. 11. 20:59
728x90
반응형
www.google.com을 웹 브라우저 주소창에 입력하면 어떤 일이 일어나나요?

 

면접 단골 질문 중 하나로, 네트워크 지식을 물어보는 질문이다.

제가 맨 처음 면접을 봤을 때 맨 첫 질문이 이거였다.

 

 

💡 실전 핵심 답변

브라우저에 URL을 입력하면, 먼저 브라우저 캐시와 OS의 호스트 파일을 확인한 후 DNS 서버를 통해 도메인을 IP 주소로 변환합니다.

이후 해당 IP를 가진 서버와 TCP 3-way Handshake 및 TLS Handshake를 거쳐 보안 연결을 수립합니다.

연결이 완료되면 HTTP 요청을 보내고, 대규모 시스템의 경우 로드밸런서를 거쳐 Web Server와 WAS(예: Spring Boot)로 요청이 전달되어 비즈니스 로직을 처리합니다.

최종적으로 생성된 HTML/JSON 등의 응답이 브라우저로 돌아와 DOM 트리를 구성하고 화면에 렌더링됩니다.

 

 

🌐 웹 접속의 전체 흐름

 

1. Navigation

사용자가 주소창에 URL을 입력하거나, 링크를 클릭하거나, 폼을 제출하는 등 새로운 페이지를 요청할 때 시작

 

2. DNS Lookup

도메인 이름을 IP 주소로 변환하기 → DNS(도메인 이름 시스템)

DNS (도메인 네임 시스템, Domain Name System) 는
사람이 읽을 수 있는 도메인 이름을 컴퓨터가 이해할 수 있는 숫자 형태의 IP 주소로 변환한다.

 

DNS의 주된 목적은 사용자 친화적인 탐색을 제공하는 것으로, 웹사이트 주소를 숫자인 IP 주소보다 URL로 기억하는 것이 쉽기 때문에 사용하는 것이다.

 

  1. 1. 사용자가 웹 브라우저에 'example.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신한다.
  2. 2. 확인자가 DNS 루트 이름 서버(.)를 쿼리한다.
  3. 3. 루트 서버가, 도메인에 대한 정보를 저장하는 최상위 도메인(TLD) DNS 서버(예: .com 또는 .net)의 주소로 확인자에 응답한다. example.com을 검색할 경우의 요청은 .com TLD를 가리킨다.
  4. 4. 확인자가 .com TLD에 요청한다.
  5. 5. TLD 서버가 도메인 이름 서버(example.com)의 IP 주소로 응답한다.
  6. 6. 재귀 확인자가 도메인의 이름 서버로 쿼리를 보낸다.
  7. 7. example.com의 IP 주소가 이름 서버에서 확인자에게 반환된다.
  8. 8. DNS 확인자가, 처음 요청한 도메인의 IP 주소로 웹 브라우저에 응답한다.
  9. 9. 브라우저가 IP 주소로 HTTP 요청을 보낸다.
  10. 10. 해당 IP의 서버가 브라우저에서 렌더링할 웹 페이지를 반환한다.

 

3. TCP Connection

IP 주소를 얻으면 브라우저는 서버와 연결을 맺는다.

브라우저가 서버와 TCP 3-way handshake를 통해 연결을 설정한다.

 

클라이언트 → 서버 : SYN (연결 요청)
서버 → 클라이언트 : SYN-ACK (연결 승인 + 역방향 연결 요청)
클라이언트 → 서버 : ACK (최종 연결 확인)

 

4. HTTP 요청: 웹페이지 요청 보내기

연결이 준비되면 브라우저는 서버에 HTTP 요청을 보낸다.

MDN은 웹 서버와 연결이 수립되면 브라우저가 사용자를 대신해 초기 HTTP GET request를 보내며, 웹사이트에서는 주로 HTML 파일을 요청한다.

 

GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: ...
항목 설명
GET 서버에 리소스를 요청하는 HTTP 메서드
Host 요청 대상 도메인
User-Agent 브라우저와 클라이언트 정보
Accept 브라우저가 받을 수 있는 응답 타입
Cookie 해당 도메인에 저장된 쿠키 정보

 

5. 서버 응답: HTML, CSS, JS 파일 받기

서버는 요청을 처리한 뒤 HTTP 응답을 보낸다.

웹 서버가 브라우저의 요청을 받고, 요청 핸들러가 요청, 헤더, 쿠키 등을 읽은 뒤 HTML, JSON, XML 같은 형식으로 응답을 만든다

응답에는 상태 코드, 압축 방식, 캐시 정책, 쿠키 설정 정보 등이 포함될 수 있다.

 

HTTP/1.1 200 OK
Content-Type: text/html
Content-Encoding: gzip
Cache-Control: ...
Set-Cookie: ...

<html>...</html>
상태 코드 의미
1xx 정보 응답
2xx 성공
3xx 리다이렉션
4xx 클라이언트 오류
5xx 서버 오류

 

6. 브라우저 렌더링

  1. HTML 파싱 → DOM 생성
  2. CSS 파싱 → CSSOM 생성
  3. DOM + CSSOM → Render Tree 구성
  4. Layout (Reflow) → 요소 위치/크기 계산
  5. Paint (Repaint) → 픽셀 채우기
  6. Composite → 레이어 합성

 

참고자료: https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/How_browsers_work

 

Populating the page: how browsers work - Performance | MDN

 

developer.mozilla.org

https://medium.com/@maneesa/what-happens-when-you-type-an-url-in-the-browser-and-press-enter-bb0aa2449c1a

 

What happens when you type a URL in the browser and press enter?

If you are in any technical profession, I am sure someone at some point has asked you this question. Whether you are an engineer…

medium.com

https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/

 

DNS란

IP 주소 대신 도메인 이름을 사용하여 웹사이트에 연결하는 DNS 개념 및 원리를 소개합니다.

www.cloudflare.com

 

 

728x90
반응형