Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- git
- proxy pattern
- 관점지향프로그래밍
- network
- RestControllerAdvice
- 스프링 시큐리티
- 디자인패턴
- 트랜잭션
- MYSQL
- aop
- spring boot
- 자바
- Spring
- Interceptor
- exception
- java
- 스프링부트
- 스프링
- request
- Filter
- mybatis
- response
- Redis
- http
- SQL
- aspect
- 인터셉터
- 객체지향프로그래밍
- Spring Security
- OOP
Archives
- Today
- Total
장쫄깃 기술블로그
[Network] URI, URL, URN 차이 본문
728x90
URI란?
- URI는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말이다.
- 인터넷의 자원을 식별할 수 있는 문자열을 의미한다. 그 중 URL, URN이라는 하위 개념을 만들어서 특별히 어떤 표준을 지켜서 자원을 식별하는 것이다.
- 인터넷에 있는 자원을 나타내는 유일한 주소이다.
- 어떤 형식이 있다기 보다는 특정 자원을 식별하는 문자열을 의미한다. 그래서 URL이 아니고 URN도 아니고 그냥 URI가 되는 것이다.
URL이란?
- URL은 Uniform Resource Locator의 줄임말이다.
- 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
- FTP, SMTP 등 다른 프로토콜에서도 사용할 수 있다.
웹 상의 주소를 나타내는 문자열이기 때문에 더 효율적으로 리소스에 접근할 수 있는 클린한 URL 작성을 위한 방법론들이 생겨났고 REST API도 그 중 하나이다.
(파일이 존재하는 것은 아니지만 프로그램을 돌려서 결과로 만들어진 리소스를 표현한 것도 URL, 예를 들면 데이터베이스의 학생 목록 같은 것들을 자원을 URL로 정의해서 CRUD하는 REST API가 그러함, Query하여 좀 더 자원을 특정한다고 하여 URL이 아니지 않음)
URI(URL)의 구성요소
- Scheme : 통신 방식(프로토콜)을 결정한다. 일반적으로 http(s)를 사용한다.
- hosts : 웹 서버의 이름, 도메인, IP를 사용하여 주소를 나타낸다.
- url-path : 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.
- query : 웹 서버에 보내는 추가적인 질문이다.
URN이란?
- URN은 Uniform Resource Name의 줄임말이다.
- URI의 표준 포맷 중 하나로, 이름으로 리소스를 특정하는 URI이다.
- http와 같은 프로토콜을 제외하고 리소스의 name을 가리키는데 사용된다.
- 리소스를 영구적이고 유일하게 식별할 수 있는 URI이다.
- 리소스 접근 방법과 웹 상의 위치가 표기되지 않는다.
- 리소스 자체에 부여된 영구적이고 유일한 이름이고 변하지 않는다.
- 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용한다.
URI, URL, URN의 차이점
- URL은 어떻게 리소스를 얻을 것이고 어디에서 가져와야 하는지 명시하는 URI이다.
- URN은 리소스를 어떻게 접근할 것인지 명시하지 않고 경로와 리소스 자체를 특정하는것을 목표로 하는 URI이다.
정리하며
URI는 URL과 URL을 포함하는 상위개념이다.
따라서, 'URL은 URI다.' 는 참이고, 'URI는 URL이다.' 는 거짓이다.
참고
728x90
'ETC > Network' 카테고리의 다른 글
[Network] HTTP 캐시 (캐시란, Cache-Control, 유효성 검증 및 조건부 사용) (0) | 2022.09.12 |
---|---|
[Network] 포워드 프록시와 리버스 프록시 (0) | 2022.09.12 |
[Network] HTTP 상태 코드 정리 (0) | 2022.04.24 |
[Network] HTTP Request/Response 메시지 구조 (0) | 2022.04.18 |
[Network] HTTP Request/Response 란 (0) | 2022.04.18 |