📅  最后修改于: 2023-12-03 14:42:00.336000             🧑  作者: Mango
当使用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>
完全匹配的跨源请求才可访问计时接口,否则浏览器将禁止访问计时接口。
如果设置*
,表示允许所有跨源请求访问计时接口,这会降低安全性。建议只设置具体的允许源。