# 웹 브라우저에 URL을 입력하면 일어나는 일(1)

By [twilight8](https://paragraph.com/@twilight8) · 2023-09-10

---

웹 브라우저에 URL을 입력했을 때 일어나는 6단계 과정
-------------------------------

1.  **웹 브라우저에 URL(**[**www.naver.com**](https://www.naver.com)**)을 입력한다.**
    
2.  웹 브라우저에 URL을 입력했을 때 mapping된 DOMAIN이 IP address를 3단계에 걸쳐 확인한다.
    
3.  IP address를 찾았다면, 그 주소를 갖고 있는 웹 서버에 접근하여 TCP연결을 한다.
    
4.  TCP통신이 완료되면, 웹 브라우저가 웹 서버로 HTTP request를 보낸다.
    
5.  웹 서버가 웹 브라우저에 HTTP response를 보낸다.
    
6.  웹 브라우저에서 html 코드를 렌더링하여 화면에 보여준다.
    

1\. 웹 브라우저에 URL([www.naver.com)을](http://www.naver.com\)%EC%9D%84) 입력한다.
------------------------------------------------------------------------

우리가 흔히 접속하는 사이트 중 네이버에 접속했을 때 주소창을 클릭해보면 [https://www.naver.com](https://www.naver.com) 라고 적혀있는 URL(Uniform Resource Locator)을 볼 수 있다.

> URL은 네트워크 상에 해당 자원의 위치를 알려주기 위한 규약이다. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 쉽게 말해서 웹 페이지를 찾기 위한 주소를 말한다.
> 
> [https://ko.wikipedia.org/wiki/URL](https://ko.wikipedia.org/wiki/URL)

![URL의 구조](https://storage.googleapis.com/papyrus_images/ba73d3ad1c0c4fe98abf9ebf8728a413cac12a9e45cb046702940b7ab519d072.png)

URL의 구조

URL의 구조를 보면, 해당 리소스의 위치를 알기 위해서는 그에 맞는 **Protocol**(https)을 통해 **Domain**(music.naver.com)으로 리소스의 위치를 파악해 Domain 하위에 있는 **Path**(listen/top100.nhn)에 위치한 파일을 요청하여 웹 브라우저에 보여주게 된다.

그렇다면, 저 URL을 브라우저 주소창에 입력했을 때 어디서 파일을 가져오는 것인지 궁금할 수 있다. 왜냐하면 저 파일은 우리가 사용하고 있는 컴퓨터에는 없기 때문이다. 이 말은 즉, 파일을 제공해주는 다른 PC or Server가 있겠구나 하고 생각할 수 있다.

다른 PC or Server에서 데이터를 받아오기 위해서는 해당 노드의 IP주소를 알아야 한다.

> IP address 는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.
> 
> [https://ko.wikipedia.org/wiki/IP\_주소](https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C)

### Domain으로 IP주소 수동으로 찾아보기

Domain으로 IP주소를 찾기 전에 IP주소가 왜 도메인으로 mapping되어 있는지 몇 가지 이유를 찾아보았다.

1.  **인간 친화적인 이름** : 숫자로 되어 있는 IP주소 보다 사람들에게 익숙한 단어로 되어 있는 것이 친숙하고 기억하기 쉽니다.
    
2.  **유연성** : IP주소는 서버나 네트워크 구성의 변화로 변경될 수 있지만, 같은 도메인을 사용하면 IP주소가 변경되어도 사용자는 같은 사이트에 접속할 수 있다.
    
3.  **로드 밸런싱** : 사용자가 많아 트래픽이 많은 사이트는 **하나의 도메인에 여러 IP주소를 연결**하여 트래픽을 분산 시키는 로드 밸런싱을 사용하기도 한다.
    
4.  **브랜드 및 마케팅** : 도메인 이름은 기업이나 개인의 브랜드를 강화하는데 중요한 역할을 한다.
    
5.  **보안** : DNS는 보안 인증서와 같이 웹 사이트의 보안을 강화하는 기술과 연동될 수 있다.
    

그러면 naver.com의 도메인을 통해 IP주소를 확인해 보겠다.

Window 기준 cmd 창에서 `ping naver.com` 이라고 치면 naver.com의 IP주소인 `[223.130.200.107]` 을 확인 할 수 있습니다. 그리고 아래 요청 시간이 만료된 것은 naver와 같은 대형 사이트들은 불필요한 트래픽을 줄이기 위해 ICMP 패킷을 차단하는 경우가 흔하기 때문에 만료된 것이다.

![naver.com 도메인에 ping 요청](https://storage.googleapis.com/papyrus_images/ed35a581d35f4c6dfdd3596ddb3c36ef319ee4a680f8b82dcc1eb891d25fb7d1.png)

naver.com 도메인에 ping 요청

이번에는 반대로 IP주소를 브라우저 창에 입력하면 어떤 일이 발생하는지 알아 보았다.

![IP 주소를 입력하여 naver.com 접속](https://storage.googleapis.com/papyrus_images/8c3873ed17134b52259981eb2f9ad6fba85150bd1c4529d9f8a8a9595b5060cb.gif)

IP 주소를 입력하여 naver.com 접속

ping 명령을 통해 확인한 naver.com의 IP 주소를 웹 브라우저 창에 입력하였더니 똑같이 naver.com 사이트에 접속하였다.

이는 IP 주소 \[223.130.200.107\]가 naver.com으로 DNS(Domain Name System)에 의해 변경된 것이다. DNS를 운영하는 서버를 네임서버(Name Server)라고 하는데 이 내용은 뒤편에서 자세히 알아보겠다.

지금까지 웹 브라우저 창에 URL을 입력했을 때 URL 중 Domain이 IP 주소가 mapping되어 사용되는 것이라는 걸 확인하였다.

다음 포스팅에서는 Domain이 어떻게 IP주소를 확인하는지 알아보겠다.

---

*Originally published on [twilight8](https://paragraph.com/@twilight8/url-1)*
