1
enj0y 2012-09-25 15:17:55 +08:00
可惜,NGINX的304是条软肋。万恶的俄罗斯人!!!
|
3
kernel1983 2012-09-26 11:25:24 +08:00
静态文件应该让nginx来304吧, 的确需要注意这一点
|
4
kernel1983 2012-09-26 12:04:14 +08:00
我发现开着chrome的调试工具的时候, 是看不到浏览器发送 If-Modified-Since 头的, 难怪一直看不到304
正确的方法是关掉调试工具, 去服务器端看nginx access log, 确定304返回 |
5
enj0y 2012-09-26 23:27:33 +08:00
@kernel1983 因为NGINX在输出静态文件时未支援etag头,所以浏览器不会发送ifs请求头的。
|
6
enj0y 2012-09-26 23:31:18 +08:00
@Js 程序输出的内容大多是动态,动态内容很少304能命中的。而NGINX的优势就在于静态高并发、高效proxy,etag(304)适用于绝大多静态请求,NGINX在直接输出静态文件(类似lnmpa构架的静态请求时no proxy passed)时,根本没有后端,也就没有程序,此时若由NGINX输出etag,则可以为服务器节省不少304命中的流量。
|
7
kernel1983 2012-09-27 10:43:10 +08:00
@enj0y 但是nginx还是可以在response header里发送Last-Modified, 我昨天试过了, 这样浏览器在下一次request header的时候就会发送 If-Modified-Since 了, chrome 测试必须关掉调试工具
etag的话是需要hash运算的, 我想nginx不支持是因为节省cpu吧 |