在浏览器环境下,常见的URL协议可以分为四种类别。
(1)浏览器本身支持,与获取文档相关的协议
这些协议由浏览器内部直接处理,通过特定的传输协议,获得指定文档的内容。此类协议包括http:,https:,ftp:,file:(该协议用于访问本地文件系统或nfs和smb共享)。
(2)由第三方应用和插件支持的协议
遇到这些协议,浏览器会根据url的匹配情况,把具体的处理转给外部的某个应用程序,以此实现类似媒体播放,文档浏览或ip电话之类的功能。常见的此类协议包括acrobat:,触发Adobe Acrobat的pdf阅读器;callto:和sip:,用于各种即时通信和电话软件;firefoxurl:,在一个firefox浏览器里打开另外一个firefox浏览器;cf:协议则是在IE里调用chrome。
(3)未封装的伪协议
该类协议用于方便访问浏览器的脚本解析引擎和某些内部功能,它们不需要真的去远端获取数据,甚至也不需要创建一个独立的文档上下文环境来展示运行的结果。javascript:协议,能在当前的浏览器所访问的网页环境下,调用JavaScript编程语言的解析引擎。data:协议,该协议不需要任何额外的网络请求,就能创建一个短小的内置式文档(inline document),有时候它可以通过继承而获得发起该URL的那个页面的某些操作权限。
(4)封装过的伪协议
这类协议可以放在任意url之前,它指示将取回的内容强制进行特殊的解码或者渲染显示。view-source:协议,它会按照整齐的排版格式显示html页面的源码。jar:协议,firefox可以通过这个协议解压这种类似zip的文件内容。