una recargar parametros para pagina navegadores los guardar forzar evitar etiqueta eliminar con chrome caché cache borrar aplicación actualizar caching gulp frontend

caching - recargar - Incumplimiento de memoria caché: anexar cadena de consulta o cambiar el nombre del archivo?



parametros de la etiqueta meta para no guardar la pagina en cache (1)

Después de días de búsqueda, encontré algo interesante para la solución de cadena de consulta ( assets/file.ext?v=123abc ):

Si utilizamos CDN para servir activos estáticos, las páginas dinámicas y los activos estáticos se alojan por separado. Una vez que queremos publicar una nueva versión de la aplicación, se produce el conflicto: ¿qué parte de los recursos se debe actualizar primero?

  1. Páginas primero Si los usuarios visitan su sitio inmediatamente después de actualizar las páginas dinámicas, los activos apuntan a nuevas versiones, por ejemplo, assets/file.ext?v=456def , luego los navegadores descargan viejos activos y los almacenan en caché como una nueva versión, desafortunadamente esos usuarios nunca obtendrán el recursos correctos.

  2. Los activos primero. Suponiendo que hay algunos usuarios nuevos, vaya a su sitio justo después de que se publiquen nuevas versiones de los activos, la página anterior y las nuevas secuencias de comandos, ¡ay! Puede haber algunos errores mortales y su sitio recibe boooooom!

Así que aquí viene la solución de cambiar el nombre de los archivos ( assets/file.123abc.ext ). Las diferentes versiones de los archivos tienen un nombre diferente, por lo que no se sobrescribirán entre sí . Por lo tanto, primero actualizamos los activos, luego las páginas, todo va según lo esperado, ¡woohoo!

Para obtener más detalles, lea este artículo (chino): https://www.zhihu.com/question/20790576/answer/32602154

Cuando intentamos romper cachés de activos estáticos, hay dos formas comunes de hacerlo:

  1. Al agregar cadena de consulta como assets/file.ext?v=123abc

  2. Al renombrar archivos como assets/file.123abc.ext

Sin embargo, después de días de búsqueda, descubrí que la mayoría de las herramientas de construcción prefieren cambiar el nombre de los archivos, por ejemplo, gulp-rev . En mi opinión, este tipo de revisión generará muchos fragmentos de archivos en el servidor:

assets |_ file.a.ext |_ file.b.ext |_ file.c.ext |_ file.d.ext |...

Alguna idea sobre esto?