Skip to main content

跨域

同源

  • 协议主机(域名)、端口号都相同时,才算是同源。反之,则是非同源. 浏览器同源策略

    同源策略导致跨域问题

跨域

由于浏览器同源策略,浏览器直接从脚本内发起的非同源 HTTP 请求不会得到正常的成功的响应。

CORS

  • CORS 是一个 W3C 标准,全称是"跨域资源共享"(Cross-origin resource sharing)。

  • 几种方式

  • MDN-cors

PreFlight

预检请求

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
  • Access-Control-Max-Age :该响应的有效时间为 86400 秒,也就是 24 小时。在有效时间内,浏览器无须为同一请求再次发起预检请求
  • Access-Control-Allow-Origin :允许的域名, *所有域名
  • Access-Control-Allow-Headers 表明服务器允许请求中携带字段 X-PINGOTHER 与 Content-Type