免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3667 | 回复: 7

[proxy] squid并没有把内容cache住,请教何原因? [复制链接]

论坛徽章:
0
发表于 2007-08-22 00:07 |显示全部楼层
squid并没有把内容cache住,请教何原因?

下面是  wget从squid服务器取一个URL,结果两次都是 MISS from abc_cacheNO.2824
第一次的 HTTP/1.0 302 Moved Temporarily 我甚至不知道为何会存在!
直接从apache取的话,从来不会反应说什么302。

wget -S --spider http://www.abc.com/dateXXX/itemYYY                                                               
--00:00:38--  http://www.abc.com/dateXXX/itemYYY
           => `itemYYY'
Connecting to www.abc.com:80... 已连接。
已发出 HTTP 请求,正在等待回应...
  HTTP/1.0 302 Moved Temporarily
  Date: Tue, 21 Aug 2007 16:00:27 GMT
  Server: Apache
  Location: http://www.abc.com/dateXXX/itemYYY
  Content-Type: text/html; charset=iso-8859-1
  X-Cache: MISS from abc_cacheNO.2824
  Connection: keep-alive
位置:http://www.abc.com/dateXXX/itemYYY [跟随至新的 URL]
--00:00:38--  http://www.abc.com/dateXXX/itemYYY
           => `itemYYY'
正在解析主机 www.abc.com... www.abc.com, 59.151.28.25
Connecting to www.abc.com|www.abc.com|:80... 已连接。
已发出 HTTP 请求,正在等待回应...
  HTTP/1.0 200 OK
  Date: Tue, 21 Aug 2007 16:00:38 GMT
  Server: Apache
  X-Powered-By: PHP/5.1.2
  Set-Cookie: PHPSESSID=rfddbdgpb7c7sdoma6rfust050; path=/
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
  Cache-Control: s-maxage=0, must-revalidate, max-age=0
  Pragma: no-cache
  Content-Language: zh-cn
  ETag: W/"pucdb:pcache:idhash:226110-0!1!0!0!!zh-cn!2--20061004140601"
  Vary: Accept-Encoding,Cookie
  Surrogate-Control: max-age=18000+18000, content="ESI/1.0"
  Last-Modified: Thu, 02 Aug 2007 18:46:08 GMT
  Content-Type: text/html; charset=utf-8
  X-Cache: MISS from abc_cacheNO.2824
  Connection: keep-alive
长度:未指定 [text/html]
200 OK

[ 本帖最后由 zhouyong488 于 2007-8-22 00:10 编辑 ]

论坛徽章:
0
发表于 2007-08-22 05:13 |显示全部楼层
无论我怎么设置代码里的header('');
永远获得
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache

请问诸位,1981年11月19日的8点52分到底发生了什么?????
是不是apache2自身的问题??

论坛徽章:
0
发表于 2007-08-22 13:44 |显示全部楼层
把squid配置贴上来看看嘛!

论坛徽章:
0
发表于 2007-08-25 15:40 |显示全部楼层
不知道你读过http rfc没
Expires: Thu, 19 Nov 1981 08:52:00 GMT
你设置的过期时间是过去的某个时间
虽然违反了rfc,但是在实际应用这样设置是为了告诉squid该url的对象不被squid缓存,除非squid强制缓存该对象。
Cache-Control: s-maxage=0, must-revalidate, max-age=0也会使你的对象不被缓存
可能出现的问题:是你apache 或者和你的代码header设置的问题
看看你的apache 关于mod_expire的使用是不是恰当

论坛徽章:
0
发表于 2007-08-27 16:30 |显示全部楼层
refresh_pattern -i \.(htm|html|jpg)$ 10 100% 10 ignore-reload
refresh_pattern -i . 10 100% 10 ignore-reload

有没有写这种策略??

论坛徽章:
0
发表于 2007-08-27 16:33 |显示全部楼层
refresh_pattern -i \.(htm|html|jpg)$ 10 100% 10 ignore-reload
refresh_pattern -i . 10 100% 10 ignore-reload

有没有写这种策略??

论坛徽章:
0
发表于 2007-08-29 14:55 |显示全部楼层
应该是Expires的问题,因为你请求的页面在web服务器过期失效,所以squid永远也缓存不了过期的对象.造成你现在的这样的结果

论坛徽章:
0
发表于 2007-09-06 21:47 |显示全部楼层
和Expires有关
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP