- Access-Control-Expose-Headers: 允许浏览器可以访问哪些自定义 Header
- Access-Control-Max-Age: 预检请求的结果在多少秒内有效
- Access-Control-Allow-Credentials: 是否允许客户端携带验证信息
当
Access-Control-Allow-Credentials: true 时,其他控制 Header 就不能是"*"了 。比如:
- 服务器不能将 Access-Control-Allow-Origin 的值设为通配符“_”,而应将其设置为特定的域,如:Access-Control-Allow-Origin: https://example.com 。
- 服务器不能将 Access-Control-Allow-Headers 的值设为通配符“_”,而应将其设置为首部名称的列表,如:Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
- 服务器不能将 Access-Control-Allow-Methods 的值设为通配符“*”,而应将其设置为特定请求方法名称的列表,如:Access-Control-Allow-Methods: POST, GET
- Access-Control-Allow-Methods: 表示实际请求可以是哪些请求
这个 Header 接受逗号分隔的多值
- Access-Control-Allow-Headers: 表示实际请求可以携带的 Header
【Cors 跨域基本原理】这个 Header 接受逗号分隔的多值"豁免"的情况不知为何,浏览器会豁免一些场景的跨域判断 。被豁免的场景称之为"简单请求",不被豁免的则称为"复杂请求" 。
符合下面条件的就是简单请求:
- 是 GET、HEAD、POST 之一
- 只有 Accept、Accept-Language、Content-Language、Content-Type 这几个 Header
- Content-Type 的值仅限于下列三者之一:text/plain、multipart/form-data、Application/x-www-form-urlencoded
常见问题
- 配置了跨域,浏览器仍然显示跨域错误?
Access-Control-Allow-Origin、Access-Control-Allow-Methods 和 Access-Control-Allow-Headers 是实际发起的值是否匹配 。
- OPTIONS 请求返回 204 还是 200?
推荐阅读
- 围棋快速入门之基本规则 围棋规则图解
- 有哪些简单的瘦腰瑜伽?
- 12岁的男孩标准身高体重
- 儿童生长痛的4个特征
- 自闭症孩子基本不会笑
- TikTok开始在应用中提供一个基本款文本到图像AI生成器
- 5岁孩子尿床
- 国家基本药物制度 基本药物制度
- 高温|高温下居民到古墓纳凉?当地回应:基本没有破坏
- 羊肉焖面的家常做法
