네트워크에 대한 이해를 실제 동작인 “브라우저에 URL을 입력하였을 때 어떠한 동작이 일어나는가” 로 파악해보려고 합니다.
이번에는, 브라우저 수준에서 설명하겠습니다. 설명 순서는 간략하게 동작을 설명한 후, 핵심 키워드들에 대해 상세히 설명하겠습니다.
간단히 요악하자면 다음과 같습니다.
브라우저에 URL을 입력한다.
이후 브라우저는 URL을 IP주소로 변환하기 위해 리졸버(Resolver)을 호출한다.
이를 바탕으로 HTTP Request Message를 만든다.
이러한 요약에, 정확한 개념을 습득하지 않은 키워드들이 많습니다. 이들에 대해 하나씩 살펴보겠습니다.
URL(Uniform Resource Locator)은 웹 상에서 자원(File){Resource}을 가리키는 위치입니다. URI(Uniform Resource Identifier) 은 자원을 가리키기 위한 규악으로 URL, URN을 포함하고 프로토콜 없이 존재할 수 있다.
(출처: https://developer.mozilla.org/ko/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL)
위 그림과 같이
HTTP (HyperText Transfer Protocol)의 약자로, HTML문서 등을 가져올 수 있도록 하는 프로토콜이다. 메시지(Request Message, Response Message)를 통해 통신하며, 자원을 URI로 행위를 Method로 표현한다.
HTTP 요청이 어떤 행위를 하는 것인지를 나타낸다. GET, POST, PUT, PATCH, DELETE, OPTION을 주로 사용한다.
참고: https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/DELETE
HTTP 응답이 어떤 상태인지를 나타낸다. 2XX, 4XX, 5XX등이 있다.
출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Status/418
인터넷은 TCP/IP 환경에서 여러 컴퓨터들이 연결되어 상호작용할 수 있는 네트워크이다.
Web(World Wide Web)은 인터넷 공간에서 웹 페이지들 간에 연결을 할 수 있는 시스템이다. 팀 버너스리가 제안하였고, WWW는 최초의 웹 브라우저이기도 하다.
Q. 왜 URL에 www를 입력하는가?
URL의 domain name 자리에는 www가 항상 존재한다. (입력하지 않아도 자동으로 생성된다.) 이는 지금은 인터넷과 웹이 거의 동일시 되고 있으나, 초창기에는 domain name service에서 웹 이외에 다른 서비스들도 많이 있었기 때문에 구별 목적으로 필요했다.
IP(Internet Protocol)은 인터넷 환경에서 사용하는 프로토콜이다. IP 주소는 통신에서 사용하는 기기의 고유 번호를 의미하며 IPv4, IPv6으로 분류된다.
IPv4는 232개의 주소를 저장할 수 있었으나, 이들이 부족해져 264개를 저장할 수 있는 IPv6가 등장하게 되었다.
Class
IP는 LAN(망)의 주소를 나타내는 Network Location과 기기의 고유 번호를 나타내는 Host Location으로 이루어져 있다.
IPv4가 등장할 초기에는 아래 이미지처럼 28개의 네트워크를 저장가능한 A Class를 사용하였으나, 인터넷이 발전하며 B클래스를 주로 사용하게 되었다. 하지만 이 역시도 부족해져 서브넷마스킹, IPv6가 등장하게 되었다.
Subnet Mask
Network IP와 Host IP의 범위를 유동적으로 설정할 수 있어, 낭비를 줄일 수 있게 되었다.
10.10.1.32/27 : 27비트의 Network IP 공간, 5비트의 Host IP 공간
기타
0.0.0.0
: 서브넷 자체를 나타킨다.1.1.1.1
: 브로드캐스르를 나타낸다.인터넷에서 주소를 찾을 때, 전화번호를 기억하지 않고 연락처에 이름으로 검색하여 전화번호를 찾는 것 처럼 인터넷 주소를 기억하지 않고 서버 이름(도메인 명)을 기억하고 이를 특정 시스템에 물어봐서 서버의 IP주소를 찾는다.
이 때 URL을 받아 IP주소를 대답해주는 시스템을 DNS(Domain Name System)이라고 한다. 이는 다음 장에서 자세히 다룬다.