인터넷을 사용할 때 우리는 자연스럽게 브라우저에 URL을 입력합니다.
하지만 단순히 주소를 입력하는 이 동작 뒤에는 생각보다 많은 과정이 숨어 있습니다.
우리는 URL을 입력함으로써 특정 서버에 접속하고, 그 결과로 웹 페이지를 화면에 받아보게 됩니다.
즉, 우리가 보는 화면은 단순히 “주소를 입력한 결과”가 아니라, 여러 단계의 통신과 처리 과정을 거쳐 만들어진 결과입니다.
이번 글에서는 브라우저에 URL을 입력한 뒤, 실제로 화면이 표시되기까지 어떤 과정이 일어나는지 전체 흐름을 중심으로 알아보겠습니다.
URL이란?
우리가 입력하는 URL(Uniform Resource Locator)은 인터넷상에서 웹페이지, 이미지, 영상 등 특정 자원의 고유한 위치를 나타내는 "웹 주소"입니다.
URL은 아래처럼 구성됩니다.

- scheme : 리소스에 액세스하는 데 사용될 프로토콜
- subdomain : 루트도메인 아래에 있는 다른 리소스와 구분하는 데 사용 ex) blog.example.com vs shop.example.com
- root domain : 리소스를 보유한 호스트를 식별
- top-level domain : 웹사이트를 운영하는 주체의 목적이나 유형 ex) .com의 경우 company를 의미
- path : 클라이언트가 액세스할 특정 자원 식별
DNS(Domain Name System)이란?
DNS는 사람이 기억하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환해 주는 "인터넷의 전화번호부" 시스템입니다.
사용자가 URL을 입력하면 브라우저는 해당 서버에 요청을 보내기 위해 먼저 서버의 위치 즉, IP주소를 알아내야 합니다.
이를 위해 브라우저는 DNS를 사용하여 도메인 이름을 IP주소로 변환해야합니다.
- 먼저 브라우저가 이전에 해당 서버를 조회한 적이 있는지 확인하기 위해 브라우저 캐시를 확인합니다.
- 운영체제 캐시를 확인합니다.
- 라우터 캐시를 확인합니다.
- ISP 캐시를 확인합니다. ISP는 자체 DNS 서버를 운영하며, 이 서버에는 DNS 캐시가 저장되어 있습니다.
캐시에 정보가 없는 경우, 루트 네임 서버 → TLD 네임 서버 → 권한 네임 서버 순으로 질의를 수행하여
최종적으로 IP 주소를 찾아 반환합니다.
이 과정은 DNS query라고 불립니다. DNS 쿼리의 목적은 인터넷 상의 여러 DNS 서버를 검색하여 웹사이트의 올바른 IP 주소를 찾는 것입니다.
필요한 IP주소를 찾거나 찾을 수 없다는 오류 응답을 반환할 때까지 DNS 서버에서 DNS 서버로 반복적으로 검색이 계속되기 때문입니다.
이러한 상황에서 ISP의 DNS 서버는 DNS recursor라고 부르며, 인터넷상의 다른 DNS 서버에 문의하여 해당 도메인 이름의 올바른 IP 주소를 찾는 역할을 합니다. 다른 DNS 서버들은 웹사이트 도메인 이름의 도메인 구조를 기반으로 DNS 검색을 수행하기 때문에 네임 서버라고 합니다.
* DNS recursor : 웹 브라우저 등의 애플리케이션을 통해 클라이언트 컴퓨터로부터 쿼리를 받도록 고안된 서버입니다. 일반적으로, 리커서는 클라이언트의 DNS 쿼리를 충족시키기 위해 추가 요청을 수행합니다.

download.microsoft.com에 접속하려면 먼저 DNS 리커서가 먼저 루트 네임 서버에 연결합니다.
루트 네임 서버는 .com 도메인의 네임 서버로 리디렉션합니다. ( TLD 네임 서버 )
.com 네임 서버는 다시 microsoft.com 네임서버로 리디렉션합니다. ( 권한 네임 서버 )
microsoft.com 네임서버는 DNS 레코드에서 download.microsoft.com에 해당하는 IP 주소를 찾아 DNS 리커서로 전달하고, 리커서는 다시 브라우저로 전송합니다.
이 과정을 통해 도메인 이름으로 해당 웹사이트 서버의 IP 주소를 알아낼 수 있습니다.
TCP 연결
브라우저는 알아낸 IP 주소와 일치하는 서버와 연결을 설정하여 정보를 송수신합니다.
이러한 연결을 수행하기 위해 인터넷 프로토콜인 TCP를 사용합니다. TCP는 HTTP 요청에 가장 일반적으로 사용되는 프로토콜입니다.
TCP는 연결지향 프로토콜로 신뢰성이 높은 통신 방식입니다. TCP 연결은 3-way handshake라는 과정을 통해 설정됩니다.
HTTPS의 경우, SSL/TLS handshake를 통하여 연결을 설정합니다. 이번 포스팅에서는 HTTP 통신 방식을 기준으로 설명하겠습니다.
3-way handshake 과정을 간단히 살펴보자면,

- SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냅니다. ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하여 이는 장치마다 다를 수 있습니다.
- SYN + ACK 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN + 1을 보냅니다.
- ACK 단계: 클라이언트는 서버의 ISN + 1한 값인 승인번호를 담아 ACK를 서버에 보냅니다.
이 3단계를 완료하면 데이터 전송을 위한 TCP 연결이 설정됩니다.
HTTP 요청 및 응답
연결이 완료되면 브라우저는 HTTP 요청을 통해 서버에게 리소스를 요청할 수 있습니다.
서버는 요청을 받아 이에 맞는 응답을 생성하여 응답을 클라이언트(브라우저)로 보냅니다.
서버에게 maps.google.com 웹페이지를 요청하는 GET 요청을 보낸다면, 서버는 이에 맞는 웹페이지의 HTML 콘텐츠를 응답하는 것입니다.
렌더링
브라우저는 서버로부터 받은 HTML을 해석하여 화면에 표시합니다.
- HTML을 파싱하여 DOM(Document Object Model) 생성
- CSS와 결합하여 화면 구성
- 최종적으로 사용자에게 웹 페이지 렌더링
브라우저는 HTML 내부에 포함된 이미지, JavaScript, CSS 파일 등에 대한 추가 HTTP 요청을 보내어 웹페이지를 완성합니다.

잘못된 내용이나 보완이 필요한 부분이 있다면 댓글로 알려주시면 감사하겠습니다.
궁금한 점도 편하게 남겨주세요.
출처
- 브라우저에 URL을 입력하면 무슨 일이 일어날까요? (youtube)
https://youtu.be/AlkDbnbv7dk?si=juxcAaPDHF1N7_M4
- DNS란 무엇입니까?
https://aws.amazon.com/ko/route53/what-is-dns/
- 브라우저에 URL을 입력하면 어떻게 되나요?
https://www.linkedin.com/pulse/what-happens-when-you-type-url-browser-priyanka-kumari/
- 도메인 이름 시스템(DNS) 서버의 작동 방식
https://www.geeksforgeeks.org/computer-networks/working-of-domain-name-system-dns-server/
- DNS란 무엇입니까? | DNS 작동 원리
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
'NETWORK' 카테고리의 다른 글
| TCP와 UDP의 특징과 차이: UDP가 신뢰할 수 없는 프로토콜인 이유 (0) | 2026.04.08 |
|---|---|
| 내부망을 지키는 법: 방화벽의 원리와 종류 (1) | 2026.04.07 |
| IP 주소는 무엇인가?: 공인 IP vs 사설 IP (0) | 2026.04.06 |