免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7233 | 回复: 12
打印 上一主题 下一主题

[Web] [求助]apache如何才能cache静态内容?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-25 17:42 |只看该作者 |倒序浏览
环境:Freebsd4.8+apache1.3.28
编译了mod_proxy模块,并做了如下设置


  1. ProxyRequests On
  2. CacheRoot /mnt/cache
  3. CacheSize 5000
  4. CacheGcInterval 4
  5. CacheMaxExpire 24
  6. CacheLastModifiedFactor 0.1
  7. CacheDefaultExpire 1
复制代码


按照常规,第一次浏览,IE正常下载数据,然后按F5刷新页面,应该先检查本地缓存,如果本地有缓存,而没有过期的话,就返回304,直接显示缓存中的数据,而不会再从服务器下载一次了
但是我这得情况是,我访问一次后,按F5刷新页面,IE还是去服务器下载数据,本地没有缓存
而我访问,比如百度首页,就能会缓存,而不再从服务器下载数据了,这说明我本地的浏览器没问题。

我抓了一下访问的http头,大家看一下
第一次访问我的页面

  1. --- WD_CV_WS2_HTTP_HEADER_REQUEST(1057) CSTRING(7) Length=256
  2.         GET /images/test.gif HTTP/1.1
  3.         Accept: */*
  4.         Referer: http://www.test.com/
  5.         Accept-Language: zh-cn
  6.         Accept-Encoding: gzip, deflate
  7.         User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
  8.         Host: www.test.com
  9.         Connection: Keep-Alive
  10.        

  11. --- WD_CV_WS2_HTTP_HEADER_REPLY(1056) CSTRING(7) Length=368
  12.         HTTP/1.1 200 OK
  13.         Date: Fri, 25 Aug 2006 08:49:05 GMT
  14.         Server: Apache
  15.         Vary: Accept-Encoding
  16.         Cache-Control: max-age=2592000
  17.         Expires: Sun, 24 Sep 2006 08:49:05 GMT
  18.         Last-Modified: Thu, 27 Apr 2006 07:46:39 GMT
  19.         ETag: "27511d-693-445076df"
  20.         Accept-Ranges: bytes
  21.         Content-Length: 1683
  22.         Keep-Alive: timeout=60, max=100
  23.         Connection: Keep-Alive
  24.         Content-Type: image/gif
复制代码


然后按F5刷新页面

  1. --- WD_CV_WS2_HTTP_HEADER_REQUEST(1057) CSTRING(7) Length=256
  2.         GET /images/test.gif HTTP/1.1
  3.         Accept: */*
  4.         Referer: http://www.test.com/
  5.         Accept-Language: zh-cn
  6.         Accept-Encoding: gzip, deflate
  7.         User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
  8.         Host: www.test.com
  9.         Connection: Keep-Alive
  10.        

  11. --- WD_CV_WS2_HTTP_HEADER_REPLY(1056) CSTRING(7) Length=367
  12.         HTTP/1.1 200 OK
  13.         Date: Fri, 25 Aug 2006 08:50:19 GMT
  14.         Server: Apache
  15.         Vary: Accept-Encoding
  16.         Cache-Control: max-age=2592000
  17.         Expires: Sun, 24 Sep 2006 08:50:19 GMT
  18.         Last-Modified: Thu, 27 Apr 2006 07:46:39 GMT
  19.         ETag: "27511d-693-445076df"
  20.         Accept-Ranges: bytes
  21.         Content-Length: 1683
  22.         Keep-Alive: timeout=60, max=99
  23.         Connection: Keep-Alive
  24.         Content-Type: image/gif
复制代码


两次请求一样,没有本地缓存

我有访问了一下baidu的首页

  1. --- WD_CV_WS2_HTTP_HEADER_REQUEST(1057) CSTRING(7) Length=299
  2.         GET /img/logo.gif HTTP/1.1
  3.         Accept: */*
  4.         Referer: http://www.baidu.com/
  5.         Accept-Language: zh-cn
  6.         Accept-Encoding: gzip, deflate
  7.         User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
  8.         Host: www.baidu.com
  9.         Connection: Keep-Alive
  10.         Cookie: BAIDUID=28AB0CE05D8D9EB4047F791837F33E5C
  11.        
  12.        
  13. --- WD_CV_WS2_HTTP_HEADER_REPLY(1056) CSTRING(7) Length=297
  14.         HTTP/1.1 200 OK
  15.         Date: Fri, 25 Aug 2006 08:53:08 GMT
  16.         Server: Apache/1.3.27
  17.         Cache-Control: max-age=315360000
  18.         Expires: Mon, 22 Aug 2016 08:53:08 GMT
  19.         Last-Modified: Mon, 12 Jun 2006 13:15:16 GMT
  20.         ETag: "346e73-628-448d68e4"
  21.         Accept-Ranges: bytes
  22.         Content-Length: 1576
  23.         Content-Type: image/gif
复制代码

第一次正常下载数据

然后我按F5刷新页面

  1. --- WD_CV_WS2_HTTP_HEADER_REQUEST(1057) CSTRING(7) Length=387
  2.         GET /img/logo.gif HTTP/1.1
  3.         Accept: */*
  4.         Referer: http://www.baidu.com/
  5.         Accept-Language: zh-cn
  6.         Accept-Encoding: gzip, deflate
  7.         If-Modified-Since: Mon, 12 Jun 2006 13:15:16 GMT
  8.         If-None-Match: "346e73-628-448d68e4"
  9.         User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon)
  10.         Host: www.baidu.com
  11.         Connection: Keep-Alive
  12.         Cookie: BAIDUID=28AB0CE05D8D9EB4047F791837F33E5C
  13.        

  14. --- WD_CV_WS2_HTTP_HEADER_REPLY(1056) CSTRING(7) Length=192
  15.         HTTP/1.1 304 Not Modified
  16.         Date: Fri, 25 Aug 2006 08:53:27 GMT
  17.         Server: Apache/1.3.27
  18.         ETag: "346e73-628-448d68e4"
  19.         Expires: Mon, 22 Aug 2016 08:53:27 GMT
  20.         Cache-Control: max-age=315360000
复制代码

baidu的就是正常的304,没有再次去下载数据

这让我非常郁闷,有谁知道这是为什么吗?
百度也是用的apache阿,它是怎么实现的呢?

论坛徽章:
0
2 [报告]
发表于 2006-08-27 19:27 |只看该作者
:(没人知道吗?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2006-08-27 22:50 |只看该作者
Cache-Control: max-age=315360000
        Expires: Mon, 22 Aug 2016 08:53:08 GMT
        Last-Modified: Mon, 12 Jun 2006 13:15:16 GMT

你需要配置这些东西。

论坛徽章:
0
4 [报告]
发表于 2006-08-28 09:20 |只看该作者
我配置了mod_expires模块阿

  1. <IfModule mod_expires.c>
  2.     ExpiresActive on
  3.     ExpiresByType image/gif "access plus 1 month"
  4.     ExpiresByType text/css "now plus 1 month"
  5.     ExpiresDefault "now plus 1 month"
  6. </IfModule>
复制代码


我的服务器的相应里也有这三个相应的内容阿

  1.         Cache-Control: max-age=2592000
  2.         Expires: Sun, 24 Sep 2006 08:50:19 GMT
  3.         Last-Modified: Thu, 27 Apr 2006 07:46:39 GMT
复制代码

一个月时间的有效期,怎么浏览器还是不缓存呢?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
5 [报告]
发表于 2006-08-28 09:26 |只看该作者
那你看了你的浏览器的缓存文件夹了么?

百度可能使用了专门的缓存软件或者硬件,减少网络传输。

论坛徽章:
0
6 [报告]
发表于 2006-08-28 09:37 |只看该作者
看了缓存文件夹,就只有百度的文件和图片,我的测试页就是没有,太郁闷了,我在服务器前加上一个squid再试试看
非常感谢版主!

论坛徽章:
0
7 [报告]
发表于 2006-08-28 15:12 |只看该作者
签名关注一下,我也有此问题要解决!楼主辛苦了,致敬一下!

论坛徽章:
0
8 [报告]
发表于 2007-01-29 09:13 |只看该作者
请问LZ http头怎么查看?

论坛徽章:
0
9 [报告]
发表于 2007-01-29 09:58 |只看该作者
Cache-Control: max-age=2592000
        Expires: Sun, 24 Sep 2006 08:50:19 GMT
        Last-Modified: Thu, 27 Apr 2006 07:46:39 GMT
缓存文件夹在哪?怎么查看?
是在httpd。conf里设置吗?

论坛徽章:
0
10 [报告]
发表于 2007-02-01 13:28 |只看该作者
ding
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP