성장에 목마른 코린이

URL, URI & IP, Port, Domain Name, DNS 본문

CodeStates/Section 2 (프론트 + 백엔드)

URL, URI & IP, Port, Domain Name, DNS

성장하는 코린이 2022. 3. 21. 07:36
728x90

URL (Uniform Resource Locator) 과 URI (Uniform Resource Identifier)

URL은 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타냅니다. URL은 scheme, hosts, url-path로 구분할 수 있습니다. 가장 먼저 작성하는 scheme은 통신 방식(프로토콜)을 결정합니다. 일반적인 웹 브라우저에서는 http(s)를 사용합니다. hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타냅니다. url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타냅니다.

URI는 일반적으로 URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함합니다. query는 웹 서버에 보내는 추가적인 질문입니다. 브라우저의 검색창을 클릭하면 나타나는 주소가 URI입니다. URI는 URL을 포함하는 상위개념입니다. 따라서, 'URL은 URI다.' 는 참이고, 'URI는 URL이다.' 는 거짓입니다.

URL, URI의 구성

IP (Internet Protocol address) 와 Port

IP는 인터넷상에서 사용하는 주소체계를 의미합니다. 인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분됩니다. 이렇게 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 합니다. IP 주소체계의 네 번째 버전을 뜻합니다.

터미널을 열고, nslookup codestates.com 을 입력하면 코드스테이츠의 IPv4 주소를 확인할 수 있습니다.

Port는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미합니다. 리액트를 실행했을 때에는 로컬 PC의 IP 주소로 접근하여, 3000번의 통로를 통해 실행 중인 리액트를 확인할 수 있습니다. 이미 사용 중인 포트는 중복해서 사용할 수 없습니다. 포트 번호는 0~ 65,535 까지 사용할 수 있습니다. 그중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있습니다. 반드시 알아야 할 잘 알려진 포트 번호는 다음과 같습니다.

  • 22 : SSH
  • 80 : HTTP
  • 443: HTTPS

Domain Name

웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소가 있습니다. 만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있습니다.

택시를 타고 목적지에 도착하는 상황을 가정해 보겠습니다. 서울 중구 세종대로 110이라는 도로명 주소가 있습니다. 택시를 타고, 기사님께 도로명 주소를 전달하면, 무사히 목적지에 도착할 수 있습니다. 그러나 도로명 주소 특성상 주소 자체가 상당히 길고, 주소지만 보면 어떤 건물이 있는지 파악하기 어렵습니다.

도로명 주소를 대신해서, 우리는 상호나 건물의 이름을 택시 기사님께 전달할 수도 있습니다. 택시를 타고 기사님께 서울시청까지 가달라는 메시지를 전달해도, 우리는 무사히 목적지에 도착할 수 있습니다. 이와 유사하게 도메인 이름을 이용하면, 한눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타낼 수 있습니다.

터미널을 열고, nslookup codestates.com 을 입력하면 IP 주소는 3.34.153.168 이고, 도메인 이름은 codestates.com 입니다. 주소창에 IP 주소(3.34.153.168)를 입력하면, codestates.com으로 이동할 수 있습니다.

DNS (Domain Name System)

DNS는 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템입니다. 만약 브라우저의 검색창에 naver.com을 입력한다면, 이 요청은 DNS에서 IP 주소(125.209.222.142)를 찾습니다. 그리고 이 IP 주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 합니다.

크롬 브라우저 에러읽기

 

'CodeStates > Section 2 (프론트 + 백엔드)' 카테고리의 다른 글

AJAX  (0) 2022.03.21
HTTP, HTTP Messages (Requests, Responses)  (0) 2022.03.21
2,3-Tier 아키텍쳐 & 프로토콜(HTTP) & API  (0) 2022.03.21
callback& Promise & async await  (0) 2022.03.21
Graph & Tree & Binary Tree  (0) 2022.03.21
Comments