Uniform Resource Name

그럼 이녀석은 왜 나왔는가? URL의 단점때문에 등장했다. URL은 “정확한 위치”를 가리켜야 한다는 제약을 가지고 있다. 하지만, index.html 파일이 특정 directory로 변경된다면 어떻게 될까? 기존에 사용하던 https://velog.io@wansook0316/index.html은 무용지물이다. 쓸모가 없다.

문제는 이 URL이 다른 곳에서 많이 사용되고 있다는 것이다. 대표적인 예로 검색 엔진. 이녀석은 해당 주소를 현재로서는 맞는 주소라고 알고 있을 확률이 높다. (물론 주기적으로 돌면서 다시 인덱싱한다.) 그렇게 되면, 이전에 해당 주소로 검색해서 들어오던 사용자들은 갑자기 없는 resource다 라는 에러를 받을 수 밖에 없다.

이렇게 특정 자원에 대한 위치와 존재 여부를 엮어서 생각하다보니, 해당 링크가 깨져버리는 순간에 관리가 어려워진다는 문제가 발생했다. 이에 대한 해결법은 무엇이 있을까?

특정 자원에 대한 이름을 기반으로 고유하게 만드는 것이다. 그렇게 되면 객체의 위치와 상관없이 객체를 찾을 수 있게 된다. 하지만 이러한 원리에 의해서 모든 자원의 URN은 고유해야 한다.