How to configure ETag on Nginx

强颜欢笑 提交于 2019-12-03 04:15:51

问题


I'm using Nginx as a webserver and want to implement a browser caching method so that the users keep copies of static unchanged files locally and download only changed files. One of the propositions was to use the files timestamp to figure out the changed files and refresh them only, but this is not possible in my case since after every new deploy a new version of the whole web application is created and all the files' timestamps change.

I researched a little about the ETag header, and it seemed as a pretty good solution, but I found out that Etags are not officially supported by Nginx yet.

Are there any way of implementing the Etags on Nginx or any alternative solutions?


回答1:


Upgrade your Nginx.

Syntax:     etag on | off;
Default:    etag on;

Context:    http, server, location

This directive appeared in version 1.3.3.

Enables or disables automatic generation of the “ETag” response header field for static resources.

Source: http://nginx.org/en/docs/http/ngx_http_core_module.html#etag




回答2:


All recent versions of Nginx (newer than 1.3.3) will automatically set these.

For example:

location /img {
    root /path/to/public;
}

and the response headers Etag + Last-Modified headers will be returned.



来源:https://stackoverflow.com/questions/24549377/how-to-configure-etag-on-nginx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!