Access-Control-Allow-Headers
和Access-Control-Expose-Headers
,简单的说,这两者都是前端和后端之间通过header传递数据的,主要的区别就是方向。
Access-Control-Allow-Headers
举个例子,如果我们前端向后端发起请求,并在header请求头中携带了令牌等数据,且字段名不在官方定义的 simple headers之列,如:refresh_token,此时就需要,在服务端修改Access-Control-Allow-Headers的值:
Access-Control-Expose-Headers
响应标头 Access-Control-Expose-Headers 允许服务器指示那些响应标头可以暴露给浏览器中运行的脚本,以响应跨源请求。
区别
Access-Control-Allow-Headers用于:前端向后端传递数据的场景。(也可通过名称记忆:允许前端传入的字段名)
Access-Control-Expose-Headers用于:后端向前端传递数据的场景。(允许后端向浏览器暴露的字段名,expose:暴露)
参考:https://qietujiang.com/header-xiangyingtou-shezhi.html
方法
获取相应头:
js
getAllResponseHeaders() // 获取所有相应头
https://www.cnblogs.com/flyingeagle/articles/10285509.html
MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Expose-Headers