什么是跨域及解决跨域都有哪些方法?

一.同源策略

浏览器为了隔离潜在的恶意文件,使用同源策略,限制从一个源加载的文档或脚本和另一个源的资源进行交互(不同源之间的文档,资源的交互);
通俗的理解:浏览器规定,A 网站的 JavaScript,不允许和非同源的网站 C 之间,进行资源的交互,例如:

无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
无法接触非同源网页的 DOM
无法向非同源地址发送 Ajax 请求

所谓同源(即指在同一个域)就是两个页面的协议(protocol),主机(host)和端口号(port)”三者相同;注意:跨域限制访问,其实是浏览器的限制。
什么是跨域及解决跨域都有哪些方法?_第1张图片

二.什么是跨域

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。
什么是跨域及解决跨域都有哪些方法?_第2张图片
浏览器对跨域请求的拦截:
什么是跨域及解决跨域都有哪些方法?_第3张图片

三、跨域解决方法

1.JSONP:(JSON with Padding)

1). JSONP 是什么

JSONP 是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,兼容性好(兼容低版本IE),缺点是只支持get请求,不支持post请求。

2).JSONP 怎么工作的?

在网页有一些标签天生具有跨域能力,比如:img link iframe script。 JSONP 就是利用 script 标签的跨域能力来发送请求的。

由于浏览器同源策略的限制,网页中无法通过 Ajax 请求非同源的接口数据。但是

你可能感兴趣的:(javascript,http,https,前端)