고양이와 코딩

URL과 URI의 차이가 뭐지? 본문

CS

URL과 URI의 차이가 뭐지?

ovovvvvv 2023. 12. 27. 18:17
728x90

먼저 URL(Uniform Resource Locator)과 URI(Uniform Resource Identifier)은 웹에서 리소스를 식별하고 지정 하는 데 사용되는 중요한 개념인데요, 이 둘은 서로 관련이 있지만 약간의 차이점이 있습니다 ( ⋅ .̮⋅ )⁕ 。* ⸼

 

URI(Uniform Resource Identifier)

URI는 리소스를 식별하기 위한 일반적인 형식이며, URL보다 더 큰 범주입니다!

URI는 URL과 URN의 두 가지 하위 범주로 나뉘는데요, URN은 리소스의 이름을 나타내고, URL은 리소스의 위치를 가리킵니다. 
즉, URI는 리소스를 식별하기 위한 일반적인 형식이며, 이를 통해 리소스를 고유하게 식별할 수 있도록 해줍니다!

 

예시 )

  • `ovovvvvv:example@example.com` : 이메일 주소를 나타내는 URI
  • `urn:isbn:0451450523`: ISBN 번호를 가리키는 URN

 

URL(Uniform Resource Locator)

URL은 URI의 하위 집합으로, 리소스의 위치를 가리킵니다.

일반적으로 웹 브라우저에서 접근 가능한 웹페이지나 파일의 주소로 사용되는데요, URl은 특정한 위치를 나타내며, 
프로토콜(HTTP, HTTPS), 호스트(www.example.com), 리소스 경로 등으로 구성됩니다!

 

예시 )

  • `https://www.example.com/blog/article` : HTTPS 프로토콜을 사용하는 블로그의 특정 기사에 대한 URL
  • `ftp://ftp.example.com/files/document.pdf` :  FTP 프로토콜을 사용하여 문서에 접근하는 URL

또 URL이 따르는 구문이 있는데요,

[프로토콜://] [사용자정보@] 호스트 [:포트] [/경로] [?쿼리매개변수] [#프래그먼트]

1. 프로토콜(Protocol): 리소스에 접근하기 위해 사용되는 프로토콜을 나타냅니다. 예를 들어 HTTP, HTTPS, FTP ... 이 부분은 종종 생략 되기도 합니다

2. 사용자 정보(User Info): 옵션으로, 리소스에 접근하기 위한 사용자 정보를 포함합니다 ! (보통 사용자 이름과 비밀번호.. )

3. 호스트(Host): 리소스가 위치한 서버의 호스트명이나 IP 주소를 나타냅니다

4. 포트(Port): 서버가 리소스에 접근하기 위해 사용하는 포트 번호를 나타냅니다. 이 또한 생략될 수 있습니다.

5. 경로(Path): 서버 내 리소스의 경로를 나타냅니다. 이는 파일 시스템의 디렉토리 경로와 유사한 개념입니다!

6. 쿼리 매개변수(Query Parameters): 옵션으로, 리소스 요청 시에 서버로 전달되는 추가적인 매개변수를 나타냅니다. 주로 `?`로 시작하며, 키-값 쌍 형태로 구성됩니다.

7. 프래그먼트(Fragment): 옵션으로, 리소스의 특정 부분이나 위치를 가리키는 참조 지점을 나타냅니다. 주로 웹 페이지의 특정 섹션을 가리키거나 앵커를 나타냅니다.

 

예시)

https://www.example.com:8080/path/to/resource?param1=value1&param2=value2#section-3
  • 프로토콜: https://
  • 호스트: www.example.com
  • 포트: 8080
  • 경로: /path/to/resource
  • 쿼리 매개변수: ?param1=value1&param2=value2
  • 프래그먼트: #section-3

 

정리

URI는 리소스를 식별하기 위한 일반적인 형식, 그 중 URL은 리소스의 위치를 나타내는 형식입니다!
URI는 리소스를 식별하고 구분할 수 있도록 도와주는 개념

URL은 실제로 리소스에 접근할 수 있는 위치를 가리킴

 

URI가 리소스를 식별한다는 말은 (문서, 이미지, 데이터 파일, 서비스 등...)을 식별하고 구별하기 위한 문자열의 형식을 제공하는 것 입니다.