2.5. 스킴의 바다

이 절에서는 웹에서 쓰이는 일반 스킴들의 포맷에 대해 알아볼 것이다.
부록 A에는 스킴 목록이 상당히 자세히 나열되어 있으며 스킴 각각에 대한 문서 정보가 기술되어 있다.

다음 표에는 가장 유명한 스킴들을 요약해 놓았다.
'URL 문법'을 복습하면 표에있는 스킴의 문법을 좀 더 편하게 볼 수 있을 것이다.

스킴설명
http사용자 이름이나 비밀번호가 없다는 것을 제외하고는, 일반 URL 포맷을 지키는 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol) 스킴이다. 포트값이 생략되어 있으면 기본값은 80이다.

기본 형식:
http://<호스트>:<포트>/<경로>?<질의>#<프래그먼트>

예:
http://www.test.com/index.html
http://www.test.com:80/index.html
httpshttps 스킴은 http 스킴과 거의 같다. 다른 점이라고는 https는 HTTP의 커넥션의 양 끝단에서 암호화하기 위해 넷스케이프에서 개발한 보안 소켓 계층(Secure Sockets Layer, SSL)을 사용한다는 것 뿐이다. 문법은 HTTP와 같고 기본 포트값은 443이다.

기본형식:
http://<호스트>:<포트>/<경로>?<질의>#<프래그먼트>

예:
https://www.test.com/secure.html
mailtomailto URL은 이메일 주소를 가리킨다. 이메일은 다른 스킴과는 다르게 동작하기 때문에, mailto URL은 표준 URL과는 다른 포멧을 가진다. 인터넷 이메일 주소의 문법은 RFC 822에 기술되어 있다.

기본 형식:
mailto:<RFC-822-addr-spec>

예:
mailto:test@test-lee.com
ftp파일 전송 프로토콜(File Transfer Protocol) URL은 FTP 서버에 있는 파일을 내려 받거나 올리고, FTP 서버의 디렉터리에 있는 콘텐츠 목록을 가져오는 데 사용할 수 있다.
FTP는 웹과 URL이 출현하기 전부터 있었다. 웹 애플리케이션은 데이터에 접근하는 용도의 스킴으로 FTP를 사용한다. URL 문법은 다음과 같이 일반적인 URL 포맷이다.

기본형식:
ftp://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>

예:
ftp://anonymous:test%40test.com@prep.ai.mlt.edu:21/pub/gnu/
rtsp, rtspuRTSP URL은 실시간 스트리밍 프로토콜(Real Time Streaming Protocol)을 통해서 읽을 수 있는 오디오 및 비디오와 같은 미디어 리소스 식별자다.
rtspu 스킴에 있는 'u'는 리소스를 읽기 위해서 UDP 프로토콜이 사용됨을 뜻한다.

기본형식:
rtsp://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>
rtspu://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>

예:
rtsp://www.test.com:554/interview/cto_video
filefile 스킴은 주어진 호스트 기기(로컬 디스크, 네트워크 파일 시스템 혹은 기타 파일 공유 시스템)에서 바로 접근할 수 있는 파일들을 나타낸다. 각 필드도 일반적인 URL 포맷을 따른다. 만약 호스트가 생략되어 있으면, URL을 사용하고 있는 기기의 로컬 호스트가 기본값이 된다.

기본형식:
file://<호스트>/<경로>

예:
file://OFFICE-FS/policies/casual-fridays.doc
newsnews 스킴은 RFC 1036에 정의된 바와 같이 특정 문서나 뉴스 그룹에 접근하는데 사용한다. news URL은 리소스의 위치 정보를 충분히 포함하지 않는 특이한 속성이 있다.
news URL은 해당 리소스가 어디에 있는지에 대한 정보를 포함하지 않는다. 호스트 명이나 서버 이름도 제공하지 않는다. 사용자로부터 그 정보를 알아내는 것은 애플리케이션의 몫이다.
예를 들어 넷스케이프 브라우저의 옵션 메뉴에서 NNTP(news) 서버를 명시할 수 있다. URL을 입력 받은 브라우저는, 현재 설명되어 있는 뉴스 서버 정보를 사용하여 어떤 서버로부터 뉴스를 가져올지 결정한다.
뉴스 리소스는 여러 서버를 통해 접근할 수 있다. 뉴스 리소스에 접근하는 것이 하나의 서버로만 접근할 수 있는 게 아니므로, 위치에 독립적이라고 할 수 있다.
news URL에서 선점한 '@' 문자는 뉴스 그룹을 가리키는 뉴스 URL과 특정 뉴스 문서를 가리키는 뉴스 URL을 구분하기 위해 사용된다.

기본 형식:
news:<newsgroup>
news:<news-article-id>

예:
news:rec.arts.startrek
telnettelnet 스킴은 대화형 서비스에 접근하는데 사용한다. telnet URL 자체가 객체를 가리키지는 않지만, 리소스라고 할 수 있는 대화형 애플리케이션은 이 telnet 프로토콜을 통해 접근할 수 있다.

기본형식:
telnet://<사용자 이름>:<비밀번호>@<호스트>:<포트>/

예:
telnet://slurp:webhound@test.com:23/