URI & URL
▶ 웹 개발에서 자주 사용되는 URI와 URL은 종종 혼동되기 쉬운 개념입니다. URI는 더 넓은 범주로 모든 유형의 리소스 식별자를 포함하며, URL은 그 하위 개념 중 하나로 특히 위치를 지정하는 데 중점을 둡니다. 오늘은 이 두 개념의 차이에 대해 알아보도록 하겠습니다.
1. URI(Uniform Resource Identifier)
▶ URI는 인터넷 자원을 식별하는 통일된 방법을 제공하는 문자열입니다. 즉, URI는 특정 리소스를 식별할 수 있고 그 리소스의 위치나 접근 방법에 관한 정보를 제공할 수도 있습니다.
URI의 특징
- 스킴(Scheme)
- URI의 첫 부분으로, 리소스에 접근하는 방법을 정의합니다. 예) http, https, ftp, mailto 등.
- 경로(Path)
- 리소스의 위치를 나타냅니다. URL에서는 도메인 뒤에 오며, URN에서는 식별자를 나타냅니다.
- 쿼리(Query) (선택 사항)
- 리소스에 대한 추가적인 데이터를 제공할 수 있는데, 주로 키-값의 쌍으로 이루어집니다. 예) ?query=example.
- 프래그먼트(Fragment) (선택 사항)
- 리소스 내의 특정 부분을 가리킬 수 있습니다. 예) #section1.
URI의 구성요소 - URL & URN
(1) URL 예시
1
https://www.example.com/path/to/resource?query=example#section1
- https는 스킴
- www.example.com은 호스트
- /path/to/resource는 경로
- ?query=example는 쿼리
- #section1은 프래그먼트
(2) URN 예시
1
URN: urn:isbn:0451450523
- urn은 스킴
- isbn:0451450523은 고유 식별자
- 즉 예시의 URN은 특정 책을 식별합니다.
2. URL(Uniform Resource Locator)
▶ URL은 URI의 하위 개념으로 리소스의 위치를 가리키고 그 위치에 어떻게 접근할지를 설명합니다. 즉, URL은 인터넷에서 리소스를 찾는 주소를 제공하는 것입니다.
URI의 특징
- 스킴(Scheme)
- 리소스에 접근하는 방법을 정의합니다. 예) http, https, ftp.
- 호스트(Host)
- 리소스를 호스팅하는 서버의 주소입니다. 예) www.example.com.
- 포트(Port) (선택 사항)
- 리소스에 접근하는 데 사용되는 네트워크 포트입니다. 기본적으로 HTTP는 80, HTTPS는 443을 사용합니다. 예) :8080.
- 경로(Path)
- 서버 내의 리소스 위치를 나타냅니다. 예) /path/to/resource.
- 쿼리(Query) (선택 사항)
- 리소스에 대한 추가적인 데이터를 제공할 수 있습니다. 예) ?query=example.
- 프래그먼트(Fragment) (선택 사항)
- 리소스 내의 특정 부분을 가리킬 수 있습니다. 예) #section1.
3. URI와 URL의 차이점
(1) 포괄성과 구체성
- URI: 더 포괄적인 개념으로, 리소스를 식별할 수 있는 모든 문자열을 포함합니다. URN과 URL을 모두 포함합니다.
- URL: URI의 하위 개념으로, 리소스의 위치와 접근 방법을 구체적으로 설명합니다.
(2) 식별과 위치
- URI: 리소스를 식별할 수 있는 방법을 제공하며, 꼭 리소스의 위치를 포함할 필요는 없습니다. 예: URN.
- URL: 리소스의 위치를 가리키며, 해당 리소스에 접근하는 방법을 포함합니다.
(3) 사용 예시
- URI: urn:isbn:0451450523와 같은 식별자. 이 URN은 책의 고유한 식별자를 나타냅니다.
- URL: https://www.example.com/path/to/resource와 같은 위치. 이 URL은 특정 웹 페이지의 주소를 나타냅니다.
이렇게 오늘은 URI과 URL에 대해 알아봤는데요,
헷갈리기 쉬운 개념인만큼 면접에서도 충분히 나올 수 있는 질문이기 때문에 미리 공부해두면 좋을 것 같네요! 그렇다면 저는 다음에 또다른 면접에 대비한 내용을 들고오도록 하겠습니다 😁!
This post is licensed under CC BY 4.0 by the author.