zoukankan      html  css  js  c++  java
  • 跨域使用自定义请求头

    1.跨域

    跨域是指请求协议,域名,端口三者存在某几个不同的时候就是跨域。

    2.浏览器同源策略

    同源策略限制了不同源之前的资源使用,比如cookie,请求头等。参考(https://www.cnblogs.com/laixiangran/p/9064769.html

    3.跨域共享cookie

    cookie是从服务端下发到客户端(浏览器)的,服务端通过发送一个名为 Set-Cookie 的HTTP头来创建一个cookie,作为 Response Headers 的一部分。

    通过 Set-Cookie 指定的可选项(域、路径、失效时间、secure标志)只会在「浏览器端」使用,它们都是服务器给浏览器的指示,以指定何时应该发送cookie。这些参数不会被发送至服务器端,只有name和value才会被发送。

    客户端会根据这个响应头存储Cookie信息。再次请求服务器时,客户端会在请求信息中包含一个Cookie请求头,而服务器会根据这个请求头进行用户身份、状态等较验。

    使用cors来解决跨域问题时需要以下步骤:

    a.服务端设置响应消息头Access-Control-Allow-Credentials值为“true”。
    同时,还需要设置响应消息头Access-Control-Allow-Origin值为指定单一域名(注:不能为通配符“*”)。

    b.客户端需要设置Ajax请求属性withCredentials=true,让Ajax请求都带上Cookie。

    4.跨域使用自定义请求头

    a.服务端设置Access-Control-Expose-Headers (参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Expose-Headers

    服务端设置Access-Control-Allow-Headers的值包含‘Access-Control-Expose-Headers’,比如我自定义的请求头叫scdefinded:123456;

    然后在请求中正常的设置自定义请求头即可 

    浏览器中显示

  • 相关阅读:
    数据库 mysql 语句
    document对象
    javascript
    css样式表及属性
    css格式布局
    html 标签
    html 标签
    第四章
    第三章
    第二章
  • 原文地址:https://www.cnblogs.com/scdisplay/p/11867832.html
Copyright © 2011-2022 走看看