美文网首页
2020-11-11 跨域

2020-11-11 跨域

作者: 宇宙区长李小无 | 来源:发表于2020-11-11 16:36 被阅读0次

CORS:跨域资源共享,来解决ajax请求在游览器中同源策略的限制。主要取决于后端设置响应头。

简单请求

  • GET、POST、HEAD
  • 请求头只包含以下字段:
      1. Accept;
      1. Accept-Language;
      1. Content-Language;
      1. Last-Event-ID;
      1. content-type只包含三种字段,multipart/form-data、application/x-www-form-urlencoded、text/plain

在发送简单请求时,浏览器自动添加origin字段,服务端会判断该字段是否合法,如果合法则返回一系列关于access-control...字段

  • Access-Control-Allow-Origin(必须): */fromOrigin
  • Access-Control-Allow-Credentials: false/true
    是否允许浏览器发送cookie
  • Access-Control-Expose-Headers:客户端可以拿到的额外字段
    CORS请求时,XMLHttpRequest对象的getResponseHeader()方法只能拿到6个基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma

复杂请求

PUT、DELETE或者content-type为application/json,这时浏览器会先发出一个预检请求OPTIONS
该请求头中除了origin字段,还有两个特殊的字段:

  • (1)Access-Control-Request-Method
    声明请求的方式;
  • (2)Access-Control-Request-Headers
    声明请求头所携带的额外字段

服务端在校验了这些字段后,会在响应头中包含Access-Control-Allow-Origin、Access-Control-Allow-Methods为主的字段,第二个字段主要包含了服务端允许的所有服务端支持的跨域请求方式,避免重复请求。

如果上述两个字段都通过,则客户端再发起一次正常请求,否则客户端报错。

相关文章

  • 2020-11-11 跨域

    CORS:跨域资源共享,来解决ajax请求在游览器中同源策略的限制。主要取决于后端设置响应头。 简单请求 GET、...

  • 深入跨域问题(3) - 利用 JSONP 解决跨域

    深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域深入跨域问题...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • Web前后端跨域问题处理

    跨域问题有前台跨域(iframe间)和后台跨域。 前台跨域的解决方案可以采用跨域文档通讯(Cross domain...

  • 跨域

    跨域 什么是跨域: 解决跨域 通过jsonp原理:在页面引入跨域js和css时,没有存在跨域问题.因此可以动态创建...

  • 跨域问题详解分析

    参考文档 CORS详解 跨域资源共享 CORS 详解 js中几种实用的跨域方法原理详解 跨域的那些事儿 跨域与跨域...

  • 跨域问题:好几种解决方案

    跨域分为广义跨域和狭义跨域 广义跨域:一个域下的文档或脚本试图去请求另一个域下的资源; 广义跨域可以分为以下几种:...

  • ajax readystatus=0;status=0 报错

    跨域 跨域 跨域 一定要找运维或者后台解决

  • 深入跨域问题(2) - 利用 CORS 解决跨域

    阅读目录: 深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域...

  • 响应头设置跨域和Spring注解跨域

    CORS跨域原理详解Spring解决跨域 响应头设置跨域 Spring注解跨域@CrossOrigin 可添加到方...

网友评论

      本文标题:2020-11-11 跨域

      本文链接:https://www.haomeiwen.com/subject/yngebktx.html