关于跨域、Jsonp

跨域

浏览器对于javascript的同源策略的限制。不同域名、端口、协议都为跨域。(例如:a.cn访问b.cn)

同源策略

请求的URL地址必须与浏览器上的URL地址处于同域上。也就是域名、端口、协议相同。

比如:我在本地上的域名是study.cn,请求另外一个域名一段数据

这时浏览器会报错:

这个就是同源策略的保护,如果浏览器对javascript没有同源策略的保护,那么一些重要的机密网站将会很危险

Jsonp

Jsonp全称:JSON with Padding,是为了解决跨域请求资源而产生的解决方案,是一种依靠开发人员创造出的一种非官方跨域数据交互协议。

Jsonp的产生

1.Ajax直接请求普通文件存在跨域无权限访问的问题,静态页面也一样。

2.拥有src属性的标签都可以跨域。例如<script><img><iframe>

3.为了便于客户端使用数据逐渐形成一种非传输协议,人们称之为Jsonp。该协议允许用户传递一个callback参数给服务端。

基于script标签实现跨域(利用<script>标签没有跨域限制"漏洞"来达到与第三方通讯)

1.服务端返回数据时会将这个callback参数(message)作为函数名来包裹住JSON数据,客户端就可以定制自己的函数来自动处理返回数据了。

远程的message.js文件是

2.让远程js知道它应该调用的本地函数叫什么名字,只要服务端提供的js脚本是动态生成的,这样前台只需要传一个callback参数过去告诉服务端,我需要XXX代码,于是服务端就会得到相应了.

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

相关阅读更多精彩内容

  • 今天没什么太忙的事,准备写一个关于jsonp的文章,参考了网上不少文章,感觉自己的理解没有网上一些文章理解的透彻,...
    殖民_FE阅读 2,256评论 1 5
  • 前言部分 一、跨域是什么? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源(广义的)。 广义的跨域场景有以...
    爆发吧小宇宙阅读 8,567评论 0 12
  • 1.什么是同源策略 1.要了解同源策略,我们必须先知道源即orgin 以百度页面为例,谷歌浏览器打开控制台:输入l...
    GarenWang阅读 5,356评论 2 8
  • 2017-9-12 星期2 晴 早上开心的送孩子和爸爸去学校,上班刚刚好,可能这就是平凡而幸福的生活流程吧。 按常...
    annyzzhr阅读 1,333评论 0 0
  • 亲爱的女儿,一天之中有两个时刻最重要,一个是早上一觉醒来之时,另一个是晚上入睡之前。这两者如同一对“括弧”,括弧中...
    袁卫星阅读 4,487评论 1 9

友情链接更多精彩内容