Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
amxku
V2EX  ›  Tornado

善用 304

  •  
  •   amxku · Sep 25, 2012 · 6109 views
    This topic created in 4997 days ago, the information mentioned may be changed or developed.
    7 replies    1970-01-01 08:00:00 +08:00
    enj0y
        1
    enj0y  
       Sep 25, 2012
    可惜,NGINX的304是条软肋。万恶的俄罗斯人!!!
    Js
        2
    Js  
       Sep 25, 2012
    @enj0y 304该程序做的, nginx这层做304本来就毫无意义
    kernel1983
        3
    kernel1983  
       Sep 26, 2012
    静态文件应该让nginx来304吧, 的确需要注意这一点
    kernel1983
        4
    kernel1983  
       Sep 26, 2012
    我发现开着chrome的调试工具的时候, 是看不到浏览器发送 If-Modified-Since 头的, 难怪一直看不到304

    正确的方法是关掉调试工具, 去服务器端看nginx access log, 确定304返回
    enj0y
        5
    enj0y  
       Sep 26, 2012
    @kernel1983 因为NGINX在输出静态文件时未支援etag头,所以浏览器不会发送ifs请求头的。
    enj0y
        6
    enj0y  
       Sep 26, 2012
    @Js 程序输出的内容大多是动态,动态内容很少304能命中的。而NGINX的优势就在于静态高并发、高效proxy,etag(304)适用于绝大多静态请求,NGINX在直接输出静态文件(类似lnmpa构架的静态请求时no proxy passed)时,根本没有后端,也就没有程序,此时若由NGINX输出etag,则可以为服务器节省不少304命中的流量。
    kernel1983
        7
    kernel1983  
       Sep 27, 2012
    @enj0y 但是nginx还是可以在response header里发送Last-Modified, 我昨天试过了, 这样浏览器在下一次request header的时候就会发送 If-Modified-Since 了, chrome 测试必须关掉调试工具

    etag的话是需要hash运算的, 我想nginx不支持是因为节省cpu吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5500 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 156ms · UTC 08:13 · PVG 16:13 · LAX 01:13 · JFK 04:13
    ♥ Do have faith in what you're doing.