跨域之URL

在介绍怎么跨域之前,先来弄清楚一个概念:URL。以下内容摘自维基百科。

统一资源定位符(或称统一资源定位器/定位地址URL地址等,英语:Uniform / Universal Resource Locator,常缩写为URL),有时也被俗称为网页地址网址)。

统一资源定位符的标准格式如下:

协议类型://服务器地址(必要时需加上端口号)/路径/文件名

协议类型有很多,比如:我们浏览网页最常用的就是http和https,还有下载资源用的有ed2k、thunder,qq聊天用的tencent。当然还有很多其他类型的协议,这里就不一一列举了。

超文本传输协议(HTTP)的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:

  1. 传送协议。
  2. 服务器。(通常为域名,有时为IP地址,是指存放资源的服务器的域名系统 (DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码,格式:username:password)
  3. 端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
  4. 路径。(以“/”字符区别路径中的每一个目录名称)
  5. 查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)

其中:

  1. http,是协议;
  2. zh.wikipedia.org,是服务器;
  3. 80,是服务器上的网络端口号;
  4. /w/index.php,是路径;
  5. ?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2&printable=yes,是询问。

大多数网页浏览器不要求用户输入网页中“http://”的部分,因为绝大多数网页内容是超文本传输协议文件。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明。一般来说用户只要键入统一资源定位符的一部分(zh.wikipedia.org/wiki/Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2)就可以了。

由于超文本传输协议允许服务器将浏览器重定向到另一个网页地址,因此许多服务器允许用户省略网页地址中的部分,比如 www。从技术上来说这样省略后的网页地址实际上是一个不同的网页地址,浏览器本身无法决定这个新地址是否通,服务器必须完成重定向的任务。

下面说说URL中的服务器部分,有些资料也称其为域名。

zh.wikipedia.org为例org为顶级域名,wikipedia.org为一级域名,zh.wikipedia.org为二级域名。当然也有资料只把wikipedia称为一级域名,zh称为二级域名的说法,比如维基百科就是这么称呼的,不管用哪种说法,关键是自己要知道域名有这么个分法。以此类推后面还有三级域名、四级域名等。

原文地址:https://www.cnblogs.com/fogwind/p/6058170.html