返回

HTTP header(一) 之 Access-Control-Allow-Origin

前端

HTTP header(一) 之 Access-Control-Allow-Origin

在 HTTP 协议中,Access-Control-Allow-Origin 响应首部字段用于指定允许访问该资源的外域 URL。该字段是跨域资源共享(CORS)机制的一部分,用于解决不同源(origin)之间的资源访问问题。

语法:

Access-Control-Allow-Origin: <origin>

其中:

  • <origin> 指定了允许访问该资源的外域 URL,格式为 scheme://host[:port]
  • scheme 是协议名称,例如 httphttps
  • host 是主机名或 IP 地址。
  • port 是端口号,默认为 80。

例如,以下响应头表明允许来自 https://example.com 域的所有请求访问该资源:

Access-Control-Allow-Origin: https://example.com

作用:
Access-Control-Allow-Origin 响应首部字段的作用是允许来自指定外域的请求访问该资源。当浏览器收到服务器返回的带有 Access-Control-Allow-Origin 响应首部字段的响应时,它将允许该请求访问该资源。

使用场景:
Access-Control-Allow-Origin 响应首部字段通常用于以下场景:

  • 允许来自不同域的 AJAX 请求访问服务器资源。
  • 允许来自不同域的脚本文件访问服务器资源。
  • 允许来自不同域的图片、音频、视频等资源访问服务器资源。

注意:

  • Access-Control-Allow-Origin 响应首部字段只能用于允许来自指定外域的请求访问该资源。它不能用于允许来自所有外域的请求访问该资源。
  • Access-Control-Allow-Origin 响应首部字段只能用于允许来自指定协议、主机名和端口的请求访问该资源。它不能用于允许来自所有协议、主机名和端口的请求访问该资源。
  • Access-Control-Allow-Origin 响应首部字段不能用于允许来自携带身份凭证(如 Cookie、HTTP 认证头)的请求访问该资源。
  • Access-Control-Allow-Origin 响应首部字段不能用于允许来自使用非简单请求方法(如 POST、PUT、DELETE)的请求访问该资源。

总结:
Access-Control-Allow-Origin 响应首部字段是 CORS 机制的一部分,用于解决不同源之间的资源访问问题。该字段用于指定允许访问该资源的外域 URL,从而允许来自指定外域的请求访问该资源。