304与CORS在Apache

我有一个REST API应用程序返回304 Not Modified状态代码的一些请求(有If-Modified-Since标题)。 问题是apache2软件在响应返回给浏览器的时候会遍历任何CORS头。

只有当我有304 Not modified状态代码时,才会发生这种情况。 任何其他的终点都可以和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); 

我收到一个错误:

请求的资源上没有“Access-Control-Allow-Origin”标题。 Origin'http://xxx.domain.com '因此不被允许访问。

304不需要包含CORS标题。 浏览器应该看到304并使用caching。

https://bz.apache.org/bugzilla/show_bug.cgi?id=51223#c1

CORS在304上不需要这些头文件,事实上浏览器在没有它们的情况下工作。 这是因为许多304是从中间caching生成的,无法更新以了解CORS。