URL,统一资源定位符,用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一地名称标识,通常称之为URL地址,这种地址可以使本地磁盘,也可以使局域网上的某一台计算机,更多的是Internet上的站点。简单地说,URL就是web地址,俗称“网址”。网站的存在离不开URL,URL与网站内容形影不离。URL用于唯一地标识网站的页面、内容或资源的“位置”。本文从URL基本知识、URL过滤、URL重定向、URL分类等多个方向为你讲解URL。
1.URL基本知识
1.1 什么是URL
URL(Uniform Resource Locator,统一资源定位符)是统一资源标识符(URI,也称通用资源标识符)中的一类。URL会在浏览器顶部附近的Location或者URL框内显示出来。当鼠标移至某个超链接上方时,URL会在屏幕底部显示出来。网站内的所有文件都可以用统一资源定位符来标识,这样的文件可以是任何的网络(HTML)页面,或是其他的主页、图像文件或者类通用网关接口应用程序或者java小程序等程序。URL用来定位web网页的地址,用户只需在浏览器地址栏中输入URL即可进行访问。Windows主机不区分URL的大小写,但是Unix/Linux主机区分大小写。
URL举例说明:
汉柏科技有限公司网站 http://www.opzoon.com/
Google的图片搜索 http://www.google.com.hk/imghp?hl=zh-CN&tab=ii
中国铁路客户服务中心唯一网站中国铁路12306网站
北京大学FTP服务器 ftp://ftp.pku.edu.cn/
1.2 URL的组成
URL由两个主要的部分构成:协议(Protocol)和目的地(Destination)。
“协议”部分告诉我们自己面对的是何种类型的Internet资源。Web中最常见的是http,表示从web中取回的是HTML文档。其他常见协议海域ftp、telnet、gopher、https等。
“目的地”可以是某个文件名、目录名或者某台计算机的名称。例如http://www.opzoon.com/cn/product.html这样的一个URL能让浏览器知道html文档的正确位置以及文件名是什么。例如ftp://ftp.opzoon.com/这样的一个URL能让浏览器知道自己要登入一个ftp站点,这个站点位于名为opzoon.com的一台网络计算机内。
在web页面上,单击超链接即可直接进入一个新页。URL的作用是告诉浏览器使用什么协议,以及在网络的什么地方去寻找想要下载的文件。
1.3URL的格式
URL的格式为(其中带方括号[]表示为可选项):
协议名://主机名[:端口号]/[路径名/…/文件名]
protocol://hostname[:port]/path/[;parameters][?query]#fragment
协议(protocol)指定使用的传输协议,下表列出protocol属性的有效名称。最常见的是http协议,它也是目前万维网中应用最广的协议。
file |
资源是本地计算机上的文件,格式file:// |
ftp |
通过ftp访问资源,格式ftp:// |
gopher |
通过gopher协议访问该资源 |
http |
通过http访问该资源,格式为http:// |
https |
通过安全的https访问该资源,格式为https:// |
mailto |
资源为电子邮件地址,通过SMTP访问,格式为mailto: |
MMS |
通过支持MMS(流媒体)协议播放该资源,代表软件:Windows Media Player。格式为mms:// |
ed2k |
通过支持ed2k(专用下载链接)协议的P2P软件访问该资源,代表软件:电驴。格式为ed2k:// |
flashget |
通过支持flashget(专用下载链接)协议的P2P软件访问该资源,代表软件:快车。格式为flashget:// |
thunder |
通过支持thunder(专用下载链接)协议的P2P软件访问该资源,代表软件:迅雷。格式为thunder:// |
news |
通过NNTP访问该资源 |
主机名(hostname)指存放资源的服务器的域名系统主机名或IP地址。有时在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username@password)。
端口号(port):可选项,整数。省略时使用默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。有时出于安全考虑,可在服务器上对端口进行重定义,即采用非标准端口号,此时就必须在URL中填上端口号这一项了。
路径名(path):由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
参数(;parameters):这是用于指定特殊参数的可选项。
查询(?query):可选项。用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传输参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
信息片段(字符串,fragment),用于指定网络资源中的片段。例如一个网页中有多个名称解释,可使用fragment直接定位到某一个名词解释。例如在浏览器中直接输入和百度百科_百度百科会定位到百度百科_百度百科 页面的第6个词条。
1.4 URL的长度上限
http协议并没有限定URL的最大长度。然而,在实际应用中,经过试验,不同浏览器和web服务器有不同的约定:
IE的URL长度上限是2083字节,其中纯路径部分不能超过2048字节
Firefox浏览器的地址栏中超过65536字符后不再显示
Safari浏览器一直测试到80000字符还能正常工作
Opera浏览器测试到190000字符的时候还能正常工作
Apache Web服务器在接收到大约4000字符长的URL时候产生“413 Entity Too Large”错误
IIS默认接收的最大URL是16384字符
2.URL过滤
当今互联网上充斥着大量不良信息,为了给用户提供一个健康安全的信息获取环境,多个网络通信产品公司(如Cisco、H3C、汉柏、锐捷、腾达、TP-Link等)提供了对非法网页进行过滤处理的功能。各厂商对URL过滤支持的功能程度不一致,但实