dev-writeup-2024 / march

개발 1일 1글 스터디
2 stars 0 forks source link

[03-18] URL, URI, URN #37

Open snaag opened 6 months ago

snaag commented 6 months ago

URL, URI, URN

참고자료

URI

image (출처 : 김영한님 네트워크 강의)

URI 는 Uniform Resource Identifier 의 약자입니다. 즉 자원을 다른 자원들과 구분하는 방식 입니다.

URI 에는 URL 과 URN 이 있습니다.

URL 은 많이 익숙한 https://www.naver.com/ 이런 것 입니다. URN 은 이렇게 생겼는데요, urn:isbn:1234567890 익숙하지는 않습니다. 예시의 URN 은 책의 ISBN 에 대한 URN 입니다.

URL

URL 은 Uniforn Resource Locator 입니다. 앞의 두 단어는 URI 와 동일한데 마지막 단어가 다릅니다. Locator 는 리소스가 이 위치에 있다는 것을 의미합니다.

예를들어 이 URL 은, 이 고양이 사진의 위치를 말합니다.

https://search.pstatic.net/sunny/?src=https%3A%2F%2Fimages.unsplash.com%2Fphoto-1657989868161-a1ad2f244032%3Fblend%3D000000%26blend-alpha%3D10%26blend-mode%3Dnormal%26blend-w%3D1%26crop%3Dfaces%252Cedges%26h%3D630%26mark%3Dhttps%253A%252F%252Fimages.unsplash.com%252Fopengraph%252Flogo.png%26mark-align%3Dtop%252Cleft%26mark-pad%3D50%26mark-w%3D64%26w%3D1200%26auto%3Dformat%26fit%3Dcrop%26q%3D60%26ixid%3DM3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzA0NzUwNDYxfA%26ixlib%3Drb-4.0.3&type=sc960_832

image

URL 의 구조

image

URN

URL 은 Uniforn Resource Name 입니다. 앞의 두 단어는 URI 와 동일한데 마지막 단어가 다릅니다. Name 는 리소스 자체를 의미합니다.

여기서 이름은 사람의 이름처럼 겹치는 이름이라기보단... 리소스 자체를 구분할 수 있는 유니크한 것을 말합니다. 사람으로 따지자면 주민등록번호가 될 것 같습니다.

urn:resident-registration-number:123456-1234567

이런 느낌이지 않을까요?

URN 의 구조

URN 은 이러한 구조를 가지고 있습니다.

urn:<namespace identifier>:<namespace-specific string>

앞에 urn 을 붙이고, 뒤에 namespace identifier 를 붙여줍니다. 이는 위 예시처럼 resident-registration-number, isbn 등과 같이, 말 그대로 identifier 의 namespace 입니다.

namespace-specific string 에는 식별할 수 있는 값이 들어갑니다.

URN 의 한계

그러나 URN 만으로는 데이터를 다루기가 어렵습니다. URN 으로는 데이터의 위치를 모르기 때문입니다. 만약 URN 만으로 데이터를 관리한다면, URN 과 위치가 매핑되어있는 테이블이 있어야 할 것 같습니다.

그래서 URN 보다는 URL 이 주로 쓰이고, 많은 상황에서 URI 는 URL 을 의미합니다.