본문 바로가기
Web

[기타] URL과 URI의 차이

by r4bb1t 2020. 4. 28.
반응형

최근에 백엔드 공부를 하면서, encodeURI, decodeURI 함수를 접하게 되었는데, 처음엔 오타인 줄 알았다.
URI가 URL의 오타인 것은 당연히 아니고,

URL은 Uniform Resource Locator, URI는 Uniform Resource Identifier의 약자이다.

 

일단 결론부터 말하자면 URL은 URI에 포함되는 개념이다.

URI는 통합 자원 식별자로 인터넷에 있는 자원을 나타내는 유일한 주소이다. 어떤 형식이 있는 것은 아니고, 특정 자원을 식별하는 문자열의 개념 자체를 의미한다.

URL은 통합 자원 위치로 인터넷 상의 자원 위치이다.

 

https://r4bb1t.tistory.com은 https://r4bb1t.tistory.com 라는 서버를 가리키는 URL이자 URI이다.

이 서버에 tokki.html이라는 파일이 있을 때,

https://r4bb1t.tistory.com/tokki.html은 실제 파일의 주소를 나타내고 있으므로 URI이자 URL이 된다.

https://r4bb1t.tistory.com/tokki 라는 주소로도 위 파일에 접근할 수 있다고 하더라도, 이는 파일의 위치를 표현한 것이 아니므로 URI는 맞지만 URL은 아니다. 

 

(2023.06.01 추가)

URL의 구조는 다음과 같다.

프로토콜://호스트:포트/경로?쿼리파라미터

 

  1. 프로토콜(Protocol): 웹 리소스에 접근하기 위해 사용되는 프로토콜. HTTP나 HTTPS.
  2. 호스트(Host): 웹 서버의 도메인 이름이나 IP 주소. (i.e. www.example.com, 192.168.0.1)
  3. 포트(Port, optional): 포트 번호는 웹 서버에서 특정 애플리케이션에 접근하기 위해 사용됨. 일반적으로 HTTP의 기본 포트는 80이고, HTTPS의 기본 포트는 443. URL에 포트 번호가 명시되지 않으면 기본 포트를 사용함.
  4. 경로(Path): 리소스의 경로. 웹 서버에서 원하는 리소스의 위치를 뜻함. 파일 경로나 디렉토리 경로 등의 형식이다.
  5. 쿼리 파라미터(Query Parameters, optional): 추가적인 정보 전달. 일반적으로 "?"로 시작하며, "key=value" 형식으로 여러 개의 파라미터를 전달함. 

더불어, URN이라는 개념도 있는데 URN은 URI의 표준 형식 중 하나로, 이름으로 리소스를 특정하는 URI이다. URL이 어떻게 리소스를 얻을 것이고 어디에서 가져와야하는지 명시하는 반면 URN은 리소스 접근방법과, 웹 상의 위치가 표기되지 않기 때문에 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용해야 한다. 즉 URL과 URN은 URI의 하위 개념으로, 특별히 어떤 표준을 지켜서 자원을 식별하고자 할 때 사용하는 것이다.

반응형

댓글