西北马二最代码的gravatar头像
西北马二最代码 2017-11-09 16:56:43
详细解读URL的组成

版权声明:该博文为博主原创,转载时请注明出处!

一、筹划了很久,想借助博客将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;(锚部分)

        格式为字符串,用于指定网络资源中的片段,利用某一网页中有多个名词解释,可以利用该属性直接定位到你想要的那个资源片段,不是必需的部分。


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
晁天月  LV1 2021年8月20日
茫茫人海中的小牛  LV10 2019年6月13日
zshb_gxj  LV8 2018年12月21日
军绿色的小白  LV2 2018年6月29日
最代码官方未认证  LV4 2018年1月5日
wd123E22 2017年11月16日
暂无贡献等级
Nero丶  LV9 2017年11月16日
wk962571920  LV3 2017年11月15日
weienqing  LV17 2017年11月15日
心印语  LV9 2017年11月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友