首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >HttpRequest不考虑来自所请求页面的标题代码

HttpRequest不考虑来自所请求页面的标题代码
EN

Stack Overflow用户
提问于 2011-04-01 08:10:33
回答 1查看 214关注 0票数 1

我在代理上使用HttpRequest类来调用API。我对API上的缓存进行了修改,如果内容未被修改,则抛出304,以便发出请求的用户可以利用缓存。

API抛出一个头部:

代码语言:javascript
运行
复制
header('HTTP/1.1 304 Not Modified');

我已经通过检查头文件确认了这是有效的;在火狐中,ctrl+shift+r总是返回200,200之后的ctrl+r总是返回304。但是,在代理端,HttpRequest对象始终返回200。我甚至尝试过修改API,让它总是抛出304,但代理仍然会产生200。

我怎样才能让它尊重API抛出的304,这样我也可以从代理抛出304呢?

EN

回答 1

Stack Overflow用户

发布于 2011-04-01 08:43:41

如果API服务器中的缓存逻辑是正确的,那么在发送这样的条件请求时,实际上应该只会得到304:

代码语言:javascript
运行
复制
$last_request = time() - 60;
    // should be an actual timestamp of cached data!
$last_date = gmdate("D, d M Y H:i:s T", $last_request);

$request = new HttpRequest($url, $method_type);
$request->setHeaders(array('If-Unmodified-Since' => $last_date));
$request->send();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5507865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档