📜  HTTP 标头 |定时允许原点(1)

📅  最后修改于: 2023-12-03 14:42:00.336000             🧑  作者: Mango

HTTP Header: Timing-Allow-Origin

当使用Fetch API或XHR对象发送跨域请求时,服务器返回的响应头部中可能会包含Timing-Allow-Origin标头。此标头用于指定允许访问服务器计时接口的跨源请求的源。

格式
Timing-Allow-Origin: <origin> | *
  • <origin>: 允许访问计时接口的源。只有与此源完全匹配的跨源请求才允许访问资源。

注意: 目前仅有Chromium-based的浏览器支持此标头,并且只在Chrome 89及以上版本中推出,其他浏览器仍然不支持。

使用例子

在服务端返回响应时,可以通过设置如下响应头部实现允许指定源访问计时接口的功能:

# Python 示例
response = flask.Response(statmetrics)
response.headers['Timing-Allow-Origin'] = 'https://www.example.com'
return response

在客户端发送请求时,则可以添加如下请求头部来表明需要访问计时接口:

// JavaScript 使用 Fetch API 的示例
fetch('https://www.example.com', {
  method: 'GET',
  headers: {
    'Timing-Allow-Origin': 'https://www.example.com',
    'User-Agent': 'Mozilla/5.0',
    'Accept': 'text/html'
  },
}).then(response => {
  // 处理响应。
});
注意事项
  • 只有与指定的<origin>完全匹配的跨源请求才可访问计时接口,否则浏览器将禁止访问计时接口。

  • 如果设置*,表示允许所有跨源请求访问计时接口,这会降低安全性。建议只设置具体的允许源。