본문 바로가기

CS/HTTP

URI vs URL vs URN

URI

Uniform Resource Identifier, 통합 자원 식별자라는 뜻을 가지고 있다.

여기서 식별자는 다른 항목과 구분할 수 있는 정보로 사람으로 치면 주민번호와 같은 것이라고 할 수 있다.

 

URL은 Locator(로케이터)와 Name(이름)으로 분류할 수 있는데 이것이 URLURN이다

따라서, URL과 URN은 URI의 부분집합이 된다.

 

 

 

 

URL

Uniform Resource Locator, 리소스가 있는 구체적인 위치이다.

일반적으로 우리가 인터넷에서 많이 보는 형태이다.

 

https://www.naver.com

www.google.com/search?q=naver 등

 

 

URL의 문법

scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=naver 

 

scheme

- 주로 프로토콜(어떤 방식으로 자원에 접근할 것인가. 예) http, https, ftp) 사용

 

userinfo

- URL에 사용자 정보를 포함해 인증. 주로 사용하지 않는다.

 

host

- 호스트명, 도메인명이나 IP 주소를 직접 사용가능

 

port

- 접속 포트. 일반적으로 생략한다. 생략시 http는 80, https는 443 

 

path

- 리소스의 경로. 계층적 구조를 가지고 있다. ex) /memebers/100

 

query

- key=value 형태를 가지고 있다.

- ?로 시작해 &로 추가가 가능하다. ?key1=value1&key2=value2

- query parameter, query string 등으로 불리며 웹 서버에 제공하는 파라미터이다

 

fragment

- html의 내부 북마크에 사용된다. 

- 서버에 전송하는 정보가 아니다

 

URN

Uniform Resource Name, 리소스에 이름을 부여한 것이다.

위의 URL은 변할 수 있지만 URN은 변하지 않는다. 책의 isbn 같은 것!

하지만, URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않아 잘 사용하지 않는다고 한다.

 

때문에, 일반적으로 URI와 URL을 같은 의미로 이야기 하게 된다.

 


📚 Reference

[인프런] 모든 개발자를 위한 HTTP 웹 기본 지식

 

'CS > HTTP' 카테고리의 다른 글

🌐 TCP와 UDP 정리  (0) 2021.02.05
HTTP 메소드의 종류와 특징, 속성  (0) 2021.01.13
HTTP란? HTTP의 특징, 메시지의 구조  (0) 2021.01.13
주소창에 URL을 입력하면 일어나는 일  (0) 2020.12.31