URI(URL) 명명에 대한 생각.

ITWeb/스크랩 2007. 11. 23. 11:29

ref. http://www.w3.org/Addressing/URL/URI_Overview.html
ref. http://www.w3.org/Addressing/URL/1_NeedUniversal.html

인터넷 웹 서비스를 만들면서 고민했던 것들 중에 한가지를 이야기 해보고자 합니다.
우리는 흔히 웹사이트를 방문할때 브라우저의 주소창에 http://.. 로 시작하는 문자열을 볼 수 있습니다.
이 주소창에 보여 지는 문자열을 우리는 URL(uniform resource locator) 라고 불러 왔습니다.

위에 ref. 보시면 알 수 있습니다.
이 주소창에 보여지는 문자열은 간결하고 Name, Address 의 어떤 종류 이고 웹페이지(서비스)에 대한 identifier 이어야 한다고 표현 되어 있습니다.(약간 제 임의 느낌으로 풀었습니다.)

자 그럼 이게 무슨 의미 일까요?
http://www.naver.com
http://www.daum.net
http://www.yahoo.co.kr

보시면 알 수 있듯이 대표적인 한국의 포털 서비스들 입니다.
간결하고 직관적이라는 걸 알 수 있습니다.

tistory 의 예를 들어 보겠습니다.
http://jjeong.tistory.com/location
http://jjeong.tistory.com/tag
http://jjeong.tistory.com/media
http://jjeong.tistory.com/guestbook
http://jjeong.tistory.com/owner/entry
http://jjeong.tistory.com/entry/post

보시면 역시 간결하고 직관적이라는 걸 알수 있습니다.
URL rewrite 을 적용해서 사용하는 목적은 여러가지가 있을수 있겠지만 그 중 한가지가 URL 의 간결성과 비지니스 목적성을 URL 에 포함 시키기 위해서 사용이 되어 집니다.

물론 query string 때문에 URL 이 길어 지고 복잡해 보여 질수 있습니다.
그것까지 무조건 간결하게 해야 한다는 이야기를 하고 싶은건 아닙니다.

우리가 기본적으로 폴더, 카테고리를 정리 할때 적절한 hierarchy 를 잡아서 정리를 많이 하게 됩니다.
URL 역시 이런 비지니스 hierarchy를 고려 해서 생성을 해야 한다고 저는 생각 합니다.

사용자나 개발자 역시 URL 을 보고 직관적으로 어떤 서비스 일거라는걸 또는 어떤 기능을 하는 페이지 라는걸 알 수 있다면 1차 의미 전달을 위한 커뮤니케이션을 했다고 볼수 있겠죠.
하지만 복잡하고 아무 의미도 없어 보이는 URL 이라면 그 최소한의 의사소통 마저 실패 하고 기억에도 남아 있지 않을 거라 생각 합니다.

작은 부분이라고 소홀히 생각 하는 기획자, 개발자 분들이 계시다면 한번쯤 다시 생각해 보셨으면 합니다.

아래는 어느 서비스의 동일한 페이지에 대한 URL 변천사 입니다.
(그래도 나름 짧은걸로 찾아 봤습니다.)
예) 과거:http://**********/bbs/list.html -> 현재:http://**********/V2/bbs/newlist.html -> 미래:http://**********/V3/bbs/newlist.html
뭐 이렇게 되지 않을까 싶내요.

이걸 예로 든 이유는 URL 을 만들때 대소문자의 섞임과 V2 라는 부분 이건 왜 들어 간걸까요?
새로 개편 했으니까.. 그걸 URL 에 보여 주고 싶었던걸까요? newlist.html 은 또 뭘까요? 그냥 들어가 보면 목록 페이지 인데 new 는 역시  새로만든 목록 페이지라는 걸 URL 에서 보여 주고 싶었던 걸까요?
그런 거라면 의미의 중복이 되어 버렸내요 V2 와 new  라는 문자가...

뭘 이런것 까지 고민을 하느냐고 되물을 수도 있고 대부분의 사용자들은 URL 을 외우지도 직접 주소창에 치지도 않는데 너무 오버 하는거 아니냐고 할 수도 있습니다.
틀린 말은 아닙니다. 그게 맞을 테고요.

하지만 제가 전달 하고 싶었던건 사용자와 같이 호흡하는 서비스를 만들때는 작은것 하나하나 고민을 해야 하고 그 의미를 잘 전달 할 수 있도록 노력 해야 한다는 것입니다.
정보 전달을 목적으로 하는 서비스가 아닌 커뮤니티 서비스니까 더욱 그럴테구요.

좀 많이 길어졌는데 정리 하자면 URL 을 만들때는..
1. URL 에 서비스 또는 기능에 대한 의미가 포함 되어있어야 한다.
2. URL 은 최대한 간결하며 직관적이어야 한다.
3. URL 은 대소문자를 섞어서 사용하지 말아야 한다. ( URL 명명 규칙이 있어야 한다. )

이 세가지 정도를 꼭 고민해서 만들었으면 좋겠다는 것입니다.

: