据我所知,如果cors请求附带一些额外的头文件集,第一台服务器需要处理它。
使用CORS,服务器必须发送Access-Control-Allow-Headers标头以允许来自客户端的不常见请求标头。
Access-Control-Allow-Headers ... - 支持的请求标头的逗号分隔列表。
例如假设我的飞行前请求是
OPTIONS /cors HTTP/1.1
Origin: http://api.bob.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: X-Custom-Header
Host: api.alice.com
Accept-Language: en-US
Connection: keep-alive
User-Agent: Mozilla/5.0...
然后从服务器端我将发送回复
Access-Control-Allow-Origin: http://api.bob.com
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Headers: X-Custom-Header
Content-Type: text/html; charset=utf-8
我的问题是 - 在我们向客户发送飞行前响应时,我应该关闭服务器端的连接吗?
还有一件事我如何缓存所有其他不同后续请求的飞行前请求?
由于
答案 0 :(得分:0)
您可以使用
缓存OPTIONS请求访问控制 - 最大值 - 年龄
头。 将其附加到OPTIONS响应的标题集合中。
但是,必须由用户代理(浏览器)进行初始OPTIONS请求,您无法避免这种情况。 但是所有进一步的OPTIONS请求都被缓存而不是发布到服务器。 无需关闭连接。
Access-Control-Allow-Origin:http://hello-world.example
Access-Control-Max-Age:3628800
访问控制 - 允许 - 方法:PUT
解释here,搜索
可以指定以下标题
转到指定的文字部分。