http 服务中静态文件的 Last-Modified 是根据什么生成的
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 117 (opens in a new tab)
Author 回答者: shfshanyue (opens in a new tab)
一般会选文件的 mtime
,表示文件内容的修改时间
nginx
也是这样处理的,源码见: ngx_http_static_module.c (opens in a new tab)
r->headers_out.status = NGX_HTTP_OK;
r->headers_out.content_length_n = of.size;
r->headers_out.last_modified_time = of.mtime;
关于为什么使用 mtime
而非 ctime
,可以参考 #116 (opens in a new tab)
Author 回答者: feefeefee (opens in a new tab)
针对静态资源而言,一般会选择文件的 mtime 元属性作为上次修改时间,该元属性表示文件内容的修改时间,在linux中可以用stat命令来查看文件属性,其中就包括了mtime和ctime。mtime指的是文件内容修改时间,而ctime指的是文件修改时间