- 已定义的 URI 方案有很多,但常用的并不多。一般来说,有相关的 RFC 对其解释说明的 URI 方案更常用一些,但确实也有少数由主导软件公司(特别是 Netscape 和Microsoft)开发,但未被正式发布的方案得到了广泛应用。
- W3C 维护的URI列表:http://www.w3.org/Addressing/schemes.html
- IANA 维护的URI列表:http://www.iana.org/assignments/uri-schemes
常见的方案格式
方案 | 描述 |
---|---|
http | 超文本传输协议方案,除了没有用户名和密码之外,与通用的 URL 格式相符。如果省略 了端口,就默认为 80。 基本格式: http://<host>:<port>/<path>?<query>#<frag> 示例: http://www.joes-hardware.com/index.html http://www.joes-hardware.com:80/index.html |
https | 方案 https 与方案 http 是一对。唯一的区别在于方案 https 使用了网景的 SSL,SSL 为 HTTP 连接提供了端到端的加密机制。其语法与 HTTP 的语法相同,默认端口为 443。 基本格式: https://<host>:<port>/<path>?<query>#<frag> 示例: https://www.joes-hardware.com/secure.html |
mailto | Mailto URL 指向的是 E-mail 地址。由于 E-mail 的行为与其他方案都有所不同(它并不指向任何可以直接访问的对象),所以 mailto URL 的格式与标准 URL 的格式也有所不同。因特网 E-mail 地址的语法记录在 RFC 822 中。 基本格式: mailto:<RFC-822-addr-spec> 示例: mailto:joe@joes-hardware.com |
ftp | 文件传输协议 URL 可以用来从 FTP 服务器上下载或向其上载文件,并获取 FTP 服务器上的目录结构内容的列表。 在 Web 和 URL 出现之前 FTP 就已经存在了。Web 应用程序将 FTP 作为一种数据访问方案使用。URL 语法遵循下列通用格式。 基本格式: ftp://<user>:<password>@<host>:<port>/<path>;<params> 示例: ftp://anonymous:joe%40joes-hardware.com@prep.ai.mit.edu:21/pub/gnu/ |
rtsp,rtspu | RTSP URL 是可以通过实时流传输协议(Real Time Streaming Protocol)解析的音 / 视频媒体资源的标识符。 方案 rtspu 中的 u 表示它是使用 UDP 协议来获取资源的。 基本格式: rtsp://<user>:<password>@<host>:<port>/<path> rtspu://<user>:<password>@<host>:<port>/<path> 示例: rtsp://www.joes-hardware.com:554/interview/cto_video |
file | 方案 file 表示一台指定主机(通过本地磁盘、网络文件系统或其他一些文件共享系统)上可直接访问的文件。各字段都遵循通用格式。如果省略了主机名,就默认为正在使用 URL 的本地主机。 基本格式: file://<host>/<path> 示例: file://OFFICE-FS/policies/casual-fridays.doc |
news | 根据 RFC 1036 的定义,方案 news 用来访问一些特定的文章或新闻组。它有一个很独特的性质:news URL 自身包含的信息不足以对资源进行定位。 news URL 中缺乏到何处获取资源的信息——没有提供主机名或机器名称。从用户那里获取此类信息是解释程序的工作。比如,在网景浏览器的“选项”(Options)菜单中,就可以指定自己的 NNTP(news)服务器。这样,浏览器有了 news URL 的时候就知道应该使用哪个服务器了。 新闻资源可以从多台服务器中获得。它们被称为位置无关的,因为对它们的访问不依赖 于任何一个源服务器。 news URL 中保留了字符“@”,用来区分指向新闻组的 news URL 和指向特定新闻文章的 news URL。 基本格式: news:<newsgroup> news:<news-article-id> 示例: news:rec.arts.startrek |
telnet | 方案 telnet 用于访问交互式业务。它表示的并不是对象自身,而是可通过 telnet 协议访问 的交互式应用程序(资源)。 基本格式: telnet://<user>:<password>@<host>:<port>/ 示例: telnet://slurp:webhound@joes-hardware.com:23/ |