HttpRequest 不尊重请求页面的标头代码
我在代理上使用 HttpRequest 类来调用 API。我对 API 上的缓存进行了修改,如果内容未修改,则抛出 304,以便发出请求的用户可以利用缓存。
API 抛出一个标头:
header('HTTP/1.1 304 Not Modified');
我通过检查标头确认这是有效的;在 firefox 中,ctrl+shift+r 将始终返回 200,200 之后的 ctrl+r 将始终返回 304。但是,在代理端,HttpRequest 对象始终返回 200。我什至尝试修改 API,以便无论如何,它总是抛出 304,但代理仍然会产生 200。
我怎样才能让它尊重 API 抛出的 304,以便我也可以从代理抛出 304?
I'm using the HttpRequest class on a proxy to call an API. I have modifications for caching on the API to throw a 304 if the content has not been modified so that the user making the request can utilize caching.
The API throws a header:
header('HTTP/1.1 304 Not Modified');
I've confirmed that this is working by inspecting the headers; in firefox a ctrl+shift+r will always return a 200, a ctrl+r after a 200 will always result in the 304. However, on the proxy side the HttpRequest object always returns 200. I've even tried modifying the API so it always throws the 304 no matter what but the proxy still yields 200.
How can I get it to respect the 304 being thrown by the API so I can throw the 304 from the proxy as well?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果 API 服务器中的缓存逻辑是正确的,那么在发送如下条件请求时,您应该只会收到 304:
If your caching logic in the API server is correct, then you should really only get a 304 when sending a conditional request like this: