我有一个 REST API,它返回304 Not Modified
某个请求的状态代码(具有 If-Modified-Since 标头)。问题是 apache2 软件在将响应发送到浏览器之前删除了任何 CORS 标头。
仅当状态代码为 时才会发生这种情况304
。任何其他端点都适用于 CORS。所有的飞行前请求也很好用。
我在互联网上读到 Apache 这样做是为了符合某些规范,但我不敢相信带有 304 的 CORS 不应该在规范中工作。
有没有办法用 apache 实现这个?
更新:
我的 javascript 是
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://api.domain.com/api/endpoint?token='+localStorage.getItem('token'));
xhr.setRequestHeader("If-Modified-Since", "Mon, 11 Jan 2016 15:46:54 GMT");
xhr.send(null);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“ http://xxx.domain.com ”。
304 不需要包含 CORS 标头。浏览器应该看到 304 并使用缓存。
https://bz.apache.org/bugzilla/show_bug.cgi?id=51223#c1
CORS 不需要 304 上的这些标头,而且实际上浏览器在没有这些标头的情况下也可以工作。这是因为许多 304 是从无法更新以了解 CORS 的中间缓存生成的。
归档时间: |
|
查看次数: |
1643 次 |
最近记录: |