url的组成

在写跨域问题的时候想了想应该先分析一下url,所以有了这篇,本文以下面url为例子进行分析(该url实际不存在,只为了展示尽量多的情况拟定的):

  1. 协议(protocol):本例为“http:”,表示HTTP协议(超文本传输协议)。Internet协议中还包含了很多其他协议,如常用的HTTPS(安全套接字层超文本传输协议),FTP(文件传输协议),SMTP(简单邮件传输协议)等。在协议后面要加上“//”。

特例:file 资源是本地计算机上的文件。格式file:///,注意后边应是三个斜杠

  1. 域名(domain):
    ① .com是顶级域名,顶级域名分为国际域名(如.com .net .org等)和国家域名(如.cn)
    ② cnblogs.com是一级域名,一般网站会把一级域名301/302重定向到二级域名
    ③ www.cnblogs.com是二级域名,其中www也是通用的二级域名,还有一些常用二级域名有bbs(论坛),tieba(贴吧),mail(邮箱)等
    ④ aa.www.cnblogs.com是三级域名,极少用到

  2. 端口(port):可选,域名和端口之间使用“:”作为分隔符。省略时使用各种传输协议有默认端口号,其中http的默认端口为80。端口的范围是165535,其中01023多用于绑定一些服务做其默认端口。

  3. 目录(path):可选,从域名后的第一个“/”开始到最后一个“/”为止,也叫路径,其中有些目录最后一个“/”后面是文件名,如果不写则使用默认文件名,在html中一般使用该路径下的index.html。

  4. 参数(query):“?”后面为参数部分,又称搜索部分、查询部分。参数可以允许多个,用“&”分隔。存放了一些数据信息,例如get提交的数据。

  5. 锚部分(hash):可选,“#”后面是锚部分。之前的多应用于锚点定位,在现在的单页应用中作为锚点路由发挥了更大的作用。同时有location.hash可以获取和设置hash,并可以通过onhashchange监听变化等。本例中锚部分是“#overview”,锚点路由一般形式为“.../#/produce/list”。

原文地址:https://www.cnblogs.com/bldxh/p/6132065.html