版权声明:该博文为博主原创,转载时请注明出处!
一、筹划了很久,想借助博客将URL相关的知识点进行一个综合的总结,今天得以有机会实现这个计划。
在开篇之前,我们先来回忆一下我们进行目标网站查询的步骤,除了在浏览器检索框中输入一些关键字之外,我们还可以在地址栏里面输入相关网站的统一资源定位符,也就是俗称的URL,当然我们还可以将目标网站的IP地址充当做定位符,这些途径一般都能使得我们查询到自己想要的东西。
那么接下来我们就先来学习统一资源定位符(URL)的组成。
注意:Windows系统下,url不区分字母的大小写,但是在unix和Linux系统下,URL是区分大小写的。
二、 一个完整的URL组成结构组成如下:
protocol://hostname[:port]/path/[;parameters][?query]#fragment
例如:http://www.coder.com:8080/WebApp/WebApp1.aspx?sex=name&age=20#name
1、协议部分(protocol):在上例中使用的就是HTTP协议;
指定使用的传输协议,下面列出的都是protocol属性有效选项的名称,最常用的是HTTP协议(超文本传输协议),它也是目前www中最为常见的协议。
file 该协议指定的资源是本地计算机上的文件,格式为:file://
ftp 通过FTP协议访问资源,格式为:FTP://
gopher 通过Gopher协议访问该资源
HTTP 通过HTTP协议访问该资源,格式为:http://
https 通过加密的HTTP协议访问资源,格式为:target=_blank>https://
mailto 资源为电子邮件访问地址,通过SMTP访问,格式为:mailto:
MMS 通过支持MMS(流媒体)协议播放该资源,代表软件(Windows media player),格式为:MMS://
ed2k 通过支持ed2k(专用下载链接)协议的p2p软件访问该资源,代表软件(电驴),格式为:ed2k://
Flashget 通过支持Flashget(专用下载链接)协议的p2p软件访问该资源,代表软件(快车),格式为:Flashget://
thunder 通过支持thunder(专用下载链接)协议的p2p软件访问该资源,代表软件(迅雷),格式为:thunder://
news 通过NNTP访问该资源
tencent 通过支持tencent(专用聊天链接)协议和用户通话,代表软件(QQ,TM),格式为:tencent://message/?uin=号码&Site=&Menu=yes
msnim 通过支持msnim(抓用聊天链接)协议和用户通话,代表软件(MSN,WLM),格式为:msnim:chat?contact=邮箱地址
2、主机名(hostname):在上例中主机名为www.coder.com;(域名部分)
是指存放资源的服务器的域名系统(DNS)主机名或者IP地址,有时,在主机名前也可以包含连接到服务器所需的用户名和密码,格式为:(username:password)。
3、端口号(port):在上例中端口号为8080;(端口部分)
整数,是可选项,省略时使用的是所选协议的默认端口号,每种不同的协议都有它默认的端口号,比如HTTP协议的默认端口号就是80,但是当对端口号进行了重定义之后,就不能省略该项。
4、路径(path):在上例中路径为/WebApp/;(虚拟目录部分)
由零到多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或者文件地址。
5、参数(;parametars):在上例中参数为WebApp1.aspx;(文件名部分)
是用于指定特殊参数的可选项,不是必需的选项,如果省略,将使用默认的文件名。
6、查询(?query):在上例中查询为?sex=name&;age=20;(参数部分)
是可选参数,用来给动态网页(利用PHP/asp.net/jsp/asp等技术制作的网页)传递参数,可有多个参数,参数与参数之间用“&”符号隔开,每个参数的名和值用“=”符号隔开。
7、信息片段(fragment):在上例中信息片段为#name;(锚部分)
格式为字符串,用于指定网络资源中的片段,利用某一网页中有多个名词解释,可以利用该属性直接定位到你想要的那个资源片段,不是必需的部分。