control cache nginx browser-cache http-etag

cache - Cómo configurar ETag en Nginx



cache control no transform (2)

Estoy usando Nginx como servidor web y quiero implementar un método de almacenamiento en caché del navegador para que los usuarios guarden localmente copias de archivos estáticos sin cambios y descarguen solo archivos modificados. Una de las propuestas era utilizar la marca de tiempo de los archivos para descubrir los archivos modificados y actualizarlos solo, pero esto no es posible en mi caso ya que después de cada nueva implementación se crea una nueva versión de la aplicación web completa y todas las marcas de tiempo de los archivos cambio.

Investigué un poco sobre el encabezado ETag, y me pareció una solución bastante buena, pero descubrí que Etags aún no cuenta con el respaldo oficial de Nginx.

¿Hay alguna forma de implementar los Etags en Nginx o cualquier solución alternativa?


Actualice su 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.

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


Todas las versiones recientes de Nginx (a partir de 2016) establecerán automáticamente estos.

Por ejemplo:

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

y los encabezados de respuesta Etag + encabezados Last-Modified serán devueltos.