JSONP_跨域

1.什么是同源策略

同源策略:
浏览器处于安全方面的考虑,只允许与本域下的接口交互,不同源的客户端脚本在没有明确授权的情况下,不能读取对方的资源。
同协议:(http、file、shh、https、tel、ftp...)以上协议必须相同;
同域名:第一个 // 到第二个 / 之间的部分必须相同;
同端口:一般为80,具体看设置。
以上三条都相同则为同源
举例:
a.b.com,a.b.com/a.html 同源,域相同。
b.com, a.b.com 不同源,域不同,前者的域更”窄“。
a.b.com:8080, a.b.com/3000 不同源,端口不同。
http://a.b.com, https://a.b.com 不同源,协议不同。

2.什么是跨域?跨域有几种实现形式

跨域顾名思义就是突破同源策略的限制,去不同的域下访问数据。 主要有如下几种实现形式:

  • jsonp
  • CORS:跨域资源共享(Cross-Origin Resource Sharing)
  • 降域
  • postMessage()

3.JSONP 的原理是什么

  • 首先,web服务器调用js文件不受是否跨域的影响(而且,带有src属性都可以跨域,如:img iframe script)
  • 所以,JSONP就是依据这个特性,与web服务器调用脚本的方式一样,来引入生成动态的js文件,也就是引入在src里面输入你要的后端文件。
  • 并且,JSONP的一个要点就是需要向后台传入一个callback参数,然后服务器返回的数据时callback函数会将数据包裹。

4.CORS是什么

CORS(cross origin resource sharing)跨资源共享。
原理:跨域的产生是因为浏览器出于安全方面的考虑,只允许与本域下的接口交互。所以如果我们能让后台跨域文件只识别某些web服务器的话,那么就可以进行对接。
方法在后端的返回头部设置header=('Access-Control-Allow-Origin',指定网址)

5.根据视频里的讲解演示三种以上跨域的解决方式

hosts 文件配置
127.0.0.1 www.clark.com
127.0.0.1 www.a.clark.com
127.0.0.1 www.b.clark.com
代码地址
效果均实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1: 什么是同源策略 最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源",所谓...
    好奇而已阅读 2,515评论 0 0
  • 什么是同源策略 同源政策(same-origin policy)是指同域名(或ip),同端口,同协议视为同一个域,...
    小囧兔阅读 3,674评论 0 1
  • 题目1: 什么是同源策略 浏览器出于安全考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,...
    saintkl阅读 1,711评论 0 0
  • 1.什么是同源策略浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不...
    24_Magic阅读 3,490评论 0 0
  • 视线遮挡了远方 亓夫 人们常说 站得高,看得远 可是,谁知道 高,是多高 远,又是多远呢? 我尝试着爬到最高处 希...
    邵亓夫阅读 1,580评论 0 3

友情链接更多精彩内容