흔히 웹 브라우저를 사용할 때 주소창에 자원의 위치를 나타내는 URL을 입력하여 특정 웹 페이지로 이동하는 경우가 많다. 웹 상의 모든 페이지들은 각자의 URL을 가지고 있고, 손쉽게 자원을 찾을 수 있다.
URL
URL은 서버가 제공하고 있는 환경에 존재하는 자원의 위치를 표현한다. 슬래시(/)를 사용해서 디렉토리를 이동할 수 있고, 파일을 요청하게 된다.
"https://"로 시작하는 URL이 아닌 file:// 스키마를 사용할 수도 있다. 웹 브라우저에서 아래 URL을 주소창에 입력하면 내 PC의 자원을 찾을 수도 있다. 웹 브라우저가 인터넷이 아닌 로컬 탐색기로 사용가능하게 된다.
file://localshot/home/[username]/Desktop
URL(Unifome Resource Locator)은 네트워크 상에서 자원의 위치를 나타낸다. URL은 크게 Scheme, Host, url-path, query로 구분된다.
Scheme은 프로토콜을 의미한다. 가장 일반적인 프로토콜은 HTTPS지만 File, SMTP, FTP등 다양한 프로토콜을 사용할 수 있다.
Host는 웹 서버의 이름 혹은 IP주소를 의미한다. 실제 자원을 관리하는 주체다.
url-path는 서버의 루트 디렉토리 부터 자원이 위치하고 있는 위치까지의 경로를 의미한다.
URL vs URI
일반적으로 URL을 많이 사용하지만 우리는 사실 URI를 사용하고 있는 것이다. URI(Uniform Resource Identifier)은 URL의 기본적인 요소(scheme, host, url-path)에 query나 북마크를 추가한 것이다. 네트워크상에서 자원을 표시하는 유일한 주소라고 할 수 있다.
query는 특정 자원을 필터링하기 위한 query 명령문이다. 구글에서 검색을 실행하면 이동하는 페이지는 URI다. 쿼리문을 나타내고 있기 때문이다. URI는 URL의 상위개념이라고 할 수 있다. 자원의 위치를 찾은 다음 어떤 자원을 찾기 위한 명령어를 포함하고 있다.
URL은 자원의 위치를 나타내고, URI는 자원을 식별할 수 있는 수단을 제공한다. URI의 하위개념으로는 URL과 URN이 있다.
'Programming' 카테고리의 다른 글
[Javascript] AJAX란? (feat. Fetch, XHR, 장점 단점) (0) | 2022.05.20 |
---|---|
[Network] HTTP Message Request Response 동작 이해하기 (0) | 2022.05.20 |
[Network] API란 무엇인가? (feat OSI 7계층, Protocol) (0) | 2022.05.20 |
[Javascript] 클로저(Closure) 사용하는 이유(feat 스코프 개념) (0) | 2022.05.19 |
[Javascript] fetch 사용법 비동기식 프로그래밍 이해하기 (0) | 2022.05.18 |
댓글