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. 사용자가 웹 브라우저에 'example.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신한다.
- 2. 확인자가 DNS 루트 이름 서버(.)를 쿼리한다.
- 3. 루트 서버가, 도메인에 대한 정보를 저장하는 최상위 도메인(TLD) DNS 서버(예: .com 또는 .net)의 주소로 확인자에 응답한다. example.com을 검색할 경우의 요청은 .com TLD를 가리킨다.
- 4. 확인자가 .com TLD에 요청한다.
- 5. TLD 서버가 도메인 이름 서버(example.com)의 IP 주소로 응답한다.
- 6. 재귀 확인자가 도메인의 이름 서버로 쿼리를 보낸다.
- 7. example.com의 IP 주소가 이름 서버에서 확인자에게 반환된다.
- 8. DNS 확인자가, 처음 요청한 도메인의 IP 주소로 웹 브라우저에 응답한다.
- 9. 브라우저가 IP 주소로 HTTP 요청을 보낸다.
- 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. 브라우저 렌더링
- HTML 파싱 → DOM 생성
- CSS 파싱 → CSSOM 생성
- DOM + CSSOM → Render Tree 구성
- Layout (Reflow) → 요소 위치/크기 계산
- Paint (Repaint) → 픽셀 채우기
- 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
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
'프로그래밍 > CS' 카테고리의 다른 글
| [데이터베이스] RDMS와 NoSQL의 차이는 무엇인가요? (0) | 2026.06.16 |
|---|---|
| [네트워크] TCP 3-Way Handshake는 왜 필요할까? (0) | 2026.06.12 |