본문으로 바로가기

[HTTP] URI | URL | URN 이란? | URL, URI, URN 차이점

category Server/HTTP 2022. 2. 2. 16:14
반응형

 

 

 

 

● URI 이란?

 

 

통합 자원 식별자(URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다.

URI의 존재는 인터넷에서 요구되는 기본 조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.

 

URI의 하위개념으로 URL, URN 이 있다.

 

 

 

출처 https://media.vlpt.us/images/jch9537/post/51dcc312-8ecb-4048-80df-cbde40865e7a/image.png

 

 

 

 

그렇다면 URN과 URL은 뭘까?

 

 

 

 

 

 

 


● URL 이란?

 

 

 

 

URL(Uniform Resource Locator)은

네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 

 

즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 

쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다.

 

 

 

 

 

 

 

 

● URL 구조

 

 

URL 구조를 분석하면서 이해해보자.

 

 

 

 

ex) 

 

https://www.google.com:443/search?q=hello&hl=ko 

 

 

위는 한 URL의 예시이다.

 

• 프로토콜(https)

• 호스트명(www.google.com)

• 포트 번호(443)

• 패스(/search)

• 쿼리 파라미터(q=hello&hl=ko)

 

 

 

 

URL 구조에서 각 위치마다 문법이 다르다.

이를 자세하게 분석해보자.

 

 

 

 

scheme://[userinfo@]host[:port][/path][?query][#fragment]

 

URL은 위와 같은 문법으로 이루어져 있다.

 

 

 

 

 

 

○ scheme

 

 

scheme에는 주로 프로토콜을 사용한다. 

※프로토콜: 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙

예) http, https, ftp 등등 

 

 

http는 80 포트, https는 443 포트를 주로 사용하고,

포트는 생략 가능하다.

 

 

 

 

 

 

○ userinfo

 

 

userinfo는 URL에 사용자 정보를 포함해서 인증하는 역할을 한다.

하지만 거의 사용하지 않는다.

 

 

 

 

 

 

○ host

 

 

host명을 나타낸다.

도메인명 또는 IP 주소를 직접 사용이 가능하다.

Ex) www.google.com  

 

 

 

 

 

 

 

○ PORT

 

 

접속 포트를 적어준다.

일반적으로 생략하고, 생략 시 http는 80, https는 443을 나타낸다.

 

 

PORT에 대한 자세한 설명은 아래 링크에 있다.

https://healthdevelop.tistory.com/entry/http3

 

[Http] Port 란?

◎ 인터넷 네트워크 - 인터넷 프로토콜(IP) 이란? - TCP, UDP 란? - Port 란? - DNS 란? ● Port 란? 인터넷 프로토콜 스위트에서 포트는 운영 체제 통신의 종단점이다. 이 용어는 하드웨어 장치에

healthdevelop.tistory.com

 

 

 

 

 

 

○ path

 

 

 

path는 리소스 경로(path)를 뜻하며, 계층적 구조로 이루어져 있다.

 

Ex)  /home/file1.jpg

      /members

      /members/100, /items/iphone12

 

 

 

 

 

 

○ query

 

 

query는 key=value 형태로 이루어져 있다.

 

?로 시작하고, &로 추가가 가능하다.

ex) ?keyA=valueA&keyB=valueB

 

query는 query parameter, query string 등으로 불린다.

웹서버에 제공하는 파라미터는, 모두 문자 형태로 받아들여지기 때문이다.

 

 

ex) ?q=hello&hl=ko   -> "hello"라는 검색어와 언어(language)를 한국어(ko)로 설정

 

 

 

 

 

 

 

 

○ fragment

 

 

 

fragment는 html 내부 북마크 등에 사용된다.

 

흔히 한 페이지 내에서 특정 부분으로 이동할 때 사용되는 문법이라고 생각하면 된다.

 

그렇기에 서버에 전송하는 정보 아니다.

 

 

 

 

 

 

 


● URN 이란? 

 

 

 

URN(Uniform Resource Name)은

불변의 의미를 가지는 이름으로 인터넷 자원을 찾는 방식이다.

 

URN은 웹페이지 주소, 즉 URL과 형식이 다소 비슷하게 보인다.

 

 

 

 

한 URN의 예시를 통해 간단하게 알아보자.

 

 

 

 

Ex) urn:isbn:8960777331

 

위 URN은 어떤 책의 URN이다.

 

 

앞서 봤던 URI의 구조(경로를 통해 찾는)와 다르게

URN은 리소스 자체에 부여된 영구적이고 유일한, 그리고 변하지 않는 이름으로 리소스를 특정한다.

 

 

 

 

 

반응형

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

[HTTP] HTTP 메시지  (0) 2022.02.04
[HTTP] HTTP란? | HTTP 특징  (0) 2022.02.04
[HTTP] DNS 란?  (0) 2022.02.01
[Http] Port 란?  (0) 2022.02.01
[HTTP] TCP, UDP 란?  (0) 2022.02.01