URI (Uniform Resource Identifier)
URI (Uniform Resource Identifier)
현재 URI을 간략하게 소개하는 글을 쓰기 위해 접속한 티스토리 에디터의 주소는 이렇다.
http://kwony91.tistory.com/admin/entry/post/?type=post&returnURL=/manage/posts/
위 주소를 가지고 URI을 이루는 요소에 대해서 간단히 알아보자
1. 스키마(Scheme)
주소 맨 앞에 있는 "http://" 은 많이들 봤을 것이다. 이것 말고도 https도 있고 개발하는 사람들은 ftp, ssh도 봤을 것이다. 일할 때는 특별한 명칭 없이 "http에요? https에요?"라고 말하곤 했는데 전문적인 용어로 스키라(Scheme)라고 부른다. 스키마의 역할은 웹브라우저나 스마트폰 같은 일종의 클라이언트가 서버에게 resource에 어떤 방식으로 접근 할 지를 결정하는 역할을 한다. 여기에서 이제껏 몰랐던 무수히 많은 스키마들을 확인 해볼 수 있다
2. 호스트(Host)
지금은 도메인 서버를 써서 selffish-developer.com을 사용하는데 티스토리 계정으로 로그인해서 글을 쓸 때는 나의 원래 주소(kwony91.tistory.com)을 이용해야지만 가능하다. 호스트는 리소스의 주소를 의미하며 클라이언트는 이 값을 이용해서 리소스를 찾을 수 있다. 내 블로그 진짜 주소 외에도 www.google.com, www.naver.com 이것들도 모두 호스트다. 식상한 얘기지만.
한가지 흥미로운건 mailto라는 스키마를 사용하면 개인 이메일 주소도 호스트로 본다.
3. 경로(Path)
호스트 뒤에 슬래쉬로 붇는 문장은 경로를 의미한다. 호스트 위치까지는 잘 찾아왔고 여기서 더 세분화된 리소스를 찾기 위한 세부 주소를 의미한다. /admin/entry/post 의 뜻은 호스트 주소에서 관리자(admin) 페이지의 내부(entry)에서 글을 작성(post)하는 리소스를 말한다. 현재 글을 쓰고 있는 에디터 페이지와 쿵짝이 맞는다. 쉽게 이해할 수 있을 것 같다.
물음표 뒷부분은 질의(query)다. 질의의 역할은 리소스를 찾은 서버에 전달할 정보를 의미한다. 질의는 '?'를 이용해서 시작하고 '&'를 이용해서 구분하며 각각의 값들은 key=value로 표현한다. 현재 접속한 페이지의 질의값은 총 두 개이며 type은 post이고 returnURL은 /manage/posts라고 전달했다. 이름만으로 역할을 유추해보면 현재 에디터의 타입은 post이고 마치고 돌아올 경로는 /manage/posts 라고 볼 수 있을 것 같다.