全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3023|回复: 11

[经验] nginx的第三方模块ETags要加两个参数哦

[复制链接]
发表于 2009-11-13 16:34:25 | 显示全部楼层 |阅读模式
刚刚发了一篇关于Etag的主题,发现还蛮多人讨论的...再说一个....安装教程在这里:第三方模块Etags介绍与安装

模块作者演示的.是直接在/根目录使用Etag,而我们要为一些静态元素添加Etag,所以我们要将这些文件后缀添加进来.用:

location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|xml|txt|flv|swf|mid|doc|cur|xls|pdf|txt|mp3|wma)$ {
      expires 7d;
      FileETag on;
      etag_format "%X%X";
}


这里大家发现多了一个参数.etag_format,这个其实在模块的c文件中可以找到.
/*
*  Two configuration elements: `enable_etags` and `etag_format`, specified in
*  the `Location` block.
*/
typedef struct {
    ngx_uint_t  FileETag;
    ngx_str_t   etag_format;
} ngx_http_static_etags_loc_conf_t;


默认的参数设置是:%s_%X_%X,表现出来的就是文件名和http协议版本,如:
HTTP/1.1 200 OK
Server: XCWS/1.0
Date: Fri, 13 Nov 2009 07:50:20 GMT
Content-Type: text/html
Content-Length: 7642
Last-Modified: Fri, 13 Nov 2009 02:41:02 GMT
Connection: keep-alive
Vary: Accept-Encoding
Etag: /readme.html HTTP/1.1
User-Agent_1DDA_4AFCC73E
Expires: Fri, 20 Nov 2009 07:50:20 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes


但是这个并没有作用,浏览器还是每次都要去服务器找这个文件并下载.所以我们要改这个参数设置.
我们之间在FileETag   on;后面直接再加一个etag_format "%X%X"; (Etag是基于标准16进制apache文件修改时间的)

之后我们再执行curl命令.OK.成功了.

$curl --head http://www.xmlchina.org/readme.html
HTTP/1.1 200 OK
Server: XCWS/1.0
Date: Fri, 13 Nov 2009 07:59:00 GMT
Content-Type: text/html
Content-Length: 7642
Last-Modified: Fri, 13 Nov 2009 02:41:02 GMT
Connection: keep-alive
Vary: Accept-Encoding
Etag: B638900D1DDA
Expires: Fri, 20 Nov 2009 07:59:00 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes

不建议将动态内容也使用Etag,要使用,请在动态脚本里面添加.

[ 本帖最后由 诡谲 于 2009-11-13 16:53 编辑 ]

评分

参与人数 1威望 +30 收起 理由
cpuer + 30 要是能说下具体怎么安装的话就更好了 ...

查看全部评分

发表于 2009-11-13 16:42:51 | 显示全部楼层
好,我来围观一下
发表于 2009-11-13 16:43:41 | 显示全部楼层
围观,期待这里有人再分享下自己测试经验
 楼主| 发表于 2009-11-13 16:46:25 | 显示全部楼层

回复 3# 的帖子

用了几天了...
 楼主| 发表于 2009-11-13 16:48:49 | 显示全部楼层
我的网站内容太多...
不然的话用Yslow随便都能达到A的评级...
发表于 2009-11-13 16:49:26 | 显示全部楼层
来个安装教程吧。
 楼主| 发表于 2009-11-13 16:50:21 | 显示全部楼层

回复 6# 的帖子

额...
发表于 2009-11-13 16:53:06 | 显示全部楼层

回复 7# 的帖子

发表于 2009-11-13 16:58:00 | 显示全部楼层

回复 4# 的帖子

欢迎你分享经验教程
 楼主| 发表于 2009-11-13 17:07:28 | 显示全部楼层

回复 9# 的帖子

我重新编辑了.红色那个链接里面就有教程了.在debian下搞的.最新稳定版nginx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-10 08:34 , Processed in 0.065846 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表