일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- thymeleaf
- 로그인
- vuex
- JPA
- Singleton
- Security
- Repository
- cache
- Vue.js
- HTTP 메서드
- dependency injection
- 라이프 사이클
- BEAN
- 프로토타입
- Stateless
- 캐시
- Kotlin
- vue-cli
- DB
- javascript
- Java
- 의존성 주입
- VUE
- js
- Setter
- di
- 싱글톤
- Spring
- HTTP
- Excel
- Today
- Total
jhhan의 블로그
URI & URL & URN 본문
이번 포스트에서는
URI & URL & URN → 이 3가지에 대해 알아보려 합니다.
3가지는 다음의 줄임말입니다.
- URI : Uniform Resource Identifier
- URL : Uniform Resource Locator
- URN : Uniform Resource Name
Uniform : 리소스를 식별하는 통일된 방식
Resource : 리소스, 자원
그래서 URI는 리소스를 식별하는 식별자(Identifier) 라고 보면 되겠습니다.
그리고 나머지 2개를 알아보기 전에 셋의 관계를 살펴보겠습니다.
(제가 직접 그렸습니다..)
- URI가 URL, URN을 포함하는 큰 개념입니다.
이렇게 간단하게 이해하시면 될 것 같습니다.
URL은 Locator로 리소스의 위치를 나타낸다고 이해하시면 됩니다.
URN은 Name으로 리소스의 이름을 나타낸다고 이해하시면 됩니다.
이 3개 중에서 URI와 URL은 좀 들어보셨겠지만, URN은 좀 생소할 것이라고 생각합니다.
실제로 자주 쓰이는 것도 URI와 URL이고 URN은 잘 안 쓰이기 때문입니다.
URL과 URN을 비교해보겠습니다.
URL 예시
ex) AAA://example.com:9999/one/two?n=name#four
URN 예시
ex) urn:example:AAA:name:four
URN은 이름이기 때문에 한 번 정해지면 바뀌지 않습니다.
그리고 URL은 어디선가 많이 본 형태이죠.
그럼 여기서 줄임말에 대해 다시 한번 살펴보겠습니다.
U : Uniform - 리소스를 식별하는 통일된 방식
R : Resource - 리소스, 자원 → URI로 식별할 수 있는 모든 것(특징 : 제한이 없다)
리소스는 구분만 할 수 있다면 어떠한 것도 될 수 있다는 특징이 있다고 합니다.
I : Identifier - 다른 항목과 구분하는데 필요한 정보
L : Locator - 리소스가 있는 위치 지정
N : Name - 리소스에 이름 부여
위치는 변할 수 있지만, 이름은 변하지 않는다고 합니다.
그래서 URL의 경우 변할 수 있지만, URN은 변하지 않는다.. 입니다.
하지만 URN만으로 리소스를 찾는 것이 보편화 되지 않았다고 합니다.
그래서 우리들은 URL을 더 많이 사용하는 것이죠.
그리고 URI에서 URN은 거의 사용을 하지 않기 때문에 URI를 URL로 생각해도 될 것 같습니다.
(URL ≒ URI)
그러면 URL 문법에 대해 더 알아보겠습니다.
ex) https://www.google.com/search?q=hello&hl=ko
URL의 예시가 되겠구요..
문법 : scheme://[userInfo@]host[:port][/path][?query][#fragment]
문법은 이렇게 되겠습니다.
URL에 대해서는 다음 포스트에서 좀 더 다뤄보겠습니다.
출처 : 모든 개발자를 위한 HTTP 웹 기본지식 by 김영한