--- title: Access-Control-Allow-Credentials slug: Web/HTTP/Headers/Access-Control-Allow-Credentials tags: - CORS - Reference - header - 响应头 - 跨域 translation_of: Web/HTTP/Headers/Access-Control-Allow-Credentials ---
Access-Control-Allow-Credentials
响应头表示是否可以将对请求的响应暴露给页面。返回true则可以,其他值均不可以。
Credentials可以是 cookies, authorization headers 或 TLS client certificates。
当作为对预检请求的响应的一部分时,这能表示是否真正的请求可以使用credentials。注意简单的{{HTTPMethod("GET")}} 请求没有预检,所以若一个对资源的请求带了credentials,如果这个响应头没有随资源返回,响应就会被浏览器忽视,不会返回到web内容。
Access-Control-Allow-Credentials
头 工作中与{{domxref("XMLHttpRequest.withCredentials")}} 或Fetch API中的{{domxref("Request.Request()", "Request()")}} 构造器中的credentials
选项结合使用。Credentials必须在前后端都被配置(即the Access-Control-Allow-Credentials
header 和 XHR 或Fetch request中都要配置)才能使带credentials的CORS请求成功。
头部类型 | {{Glossary("Response header")}} |
---|---|
{{Glossary("Forbidden header name")}} | no |
Access-Control-Allow-Credentials: true
允许credentials:
Access-Control-Allow-Credentials: true
使用带credentials的 XHR :
var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://example.com/', true); xhr.withCredentials = true; xhr.send(null);
使用带credentials的 Fetch :
fetch(url, { credentials: 'include' })
规范 | 状态 | 注释 |
---|---|---|
{{SpecName('Fetch','#http-access-control-allow-credentials', 'Access-Control-Allow-Credentials')}} | {{Spec2("Fetch")}} | Initial definition |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("http/headers/access-control-allow-credentials")}}