本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/28/%E4%BB%80%E4%B9%88%E6%98%AFJSONP/
摘要
本文主要讲述了:
- 什么是 JSONP
- 原理
- 局限性
- 安全性
正文
什么是 JSONP
JSON with Padding(带有填充的 JSON),简称为 JSONP 或 JSON-P。
JSONP 由 Bob Ippolito 在 2005 年提出。JSONP 可以绕过浏览器的同源政策限制,实现跨源通信。
注意:JSONP 返回的数据并不是 JSON,而是 JavaScript 文件。其Content-Type
应为application/javascript
。
示例:
a.example.com
1 |
|
b.example.com/getUserInfo?callback=parseResponse
1 | parseResponse({ |
注意:上述示例中的函数参数为 JSON 格式。
原理
<script>
不受同源政策的限制,可以加载跨源的 JavaScript 文件。
局限性
- 只能以
GET
形式发起请求
安全性
- 允许远程服务器注入不受信任的第三方代码
- 容易遭到 CSRF 攻击
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/28/%E4%BB%80%E4%B9%88%E6%98%AFJSONP/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2020/01/28/%E4%BB%80%E4%B9%88%E6%98%AFJSONP/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。