Access-Control-Max-Age应置于预检响应头还是XHR响应头?
Access-Control-Max-Age 的正确放置位置
- 必须放在预检(preflight)响应头中,也就是服务器处理跨域OPTIONS预检请求时返回的响应头里。
- 这个字段的核心作用是指定预检请求的结果可被浏览器缓存的时长(单位为秒),在缓存有效期内,针对同一资源的后续跨域请求无需重复发送预检请求,能减少不必要的请求开销。
- 它完全不需要出现在实际XMLHttpRequest(XHR)请求的响应头中,因为实际请求本身不涉及预检结果的缓存逻辑,只有预检请求的响应才需要通过这个字段控制缓存行为。
举个典型的预检响应头示例:
Access-Control-Allow-Origin: https://your-frontend-domain.com Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Max-Age: 86400
内容的提问来源于stack exchange,提问作者WzeT
相关产品推荐
相关产品推荐

