跨域方式及原理

jsonp

通过在文档中嵌入一个<script>标记来从另一个域中返回数据。只支持Get请求

XHR2

(XmlHttppRequest level2)
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
在XHR诞生前,网页要获取客户端和服务器的任何状态更新,都需要刷新一次,在XHR诞生后就可以完全通过JS代码异步实现这一过程。XHR的诞生也使最初的网页制作转换为开发交互应用,拉开了WEB2.0的序幕。
XHR是一种浏览器API,极大简化了异步通信的过程,开发者并不需要关注底层的实现,因为浏览器会为我们完成这些工作,如连接管理、协议协商、HTTP请求格式化等等。最初版本的XHR能力非常有限,只支持文本传输,处理上传能力也不足,对于跨域请求也不支持。为解决这些问题,W3C于2008年发布了“XMLHttpRequest Level2”草案,新增了如下功能:

  • 支持请求超时
  • 支持传输二进制和文本数据
  • 支持重写媒体类型和编码响应
  • 支持监控每个请求的进度事件
  • 支持有效的文件上传
  • 支持安全的跨来源请求

2011年,W3C将“XMLHttpRequest Level2”规范与最初的“XMLHttpRequest”规范合并,所有XHR2新增的功能也都并入了原来的XHR API中,接口不变,功能增强。

CORS

(Cross-Origin Resourse Sharing) https://www.cnblogs.com/loveis715/p/4592246.html

猜你喜欢

转载自blog.csdn.net/weixin_43322208/article/details/89277328