举例URL: https://www.stuspy.com/mxsj/paperTest.html?id=5a56d694ac502e0042d73dce
名称 | 说明 |
---|---|
协议 | https: |
分隔符 | // |
域名 | www.stuspy.com |
端口 | 跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一 个URL必须的部分,如果省略端口部分,将采用默认端口 |
文件名 | 从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从 域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么 从域名后的最后一个“/”开始到结束都是文件名部分。本例中的文件名 是“paperTest.html”。文件名部分也不是一个URL必须的部分,如果省略该部分, 则使用默认的文件名 |
锚 | 从“#”开始到最后,都是锚部分。锚部分也不是一个URL必须的部分 |
虚拟目录 | 从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录 也不是一个URL必须的部分,本例的虚拟目录为“/mxsj/” |
参数 | 从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。参数 可以允许有多个参数,参数与参数之间用“&”作为分隔符。本例中的参数部分 为“id=5a56d694ac502e0042d73dce” |
概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。
跨域的几种情况
- 协议不同
- 域名相同,端口不同
- 域名与域名对应ip
- 域名不同
- 主域相同,子域不同
- 同一域名,不同二级域名
跨域解决方案
1.CORS(主要解决的是异域之间的传值)
跨源资源共享定义了在必须访问跨源资源时,浏览器与服务器该如何沟通。其背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是否应该成功。
- 对于客户端,我们还是正常使用xhr对象发送ajax请求。
- 对于服务器端,需要在 response header中设置
Access-Control-Allow-Origin
字段。
IE8 通过 XDomainRequest 对象支持CORS,其他浏览器通过 XHR 对象原生支持 CORS。
2.图像Ping
图像Ping——最常用于跟踪用户点击页面或动态广告曝光次数。有两个主要的缺点,一是只能发送GET请求,二是无法访问服务器的响应文本。因此,图像Ping只能用于浏览器与服务器间的单向通信。
3.JSONP
JSONP(JSON with padding的简写)——是一种基于文本的数据交换方式,或者叫做数据描述格式。jsonp通过动态