¿Cuándo el navegador borra automáticamente el caché del archivo JavaScript externo?

Tengo un recurso de JavaScript que tiene la posibilidad de ser editado en cualquier momento. Una vez editado, me gustaría que se propague al navegador del usuario de forma relativamente rápida (como unos 15 minutos aproximadamente), sin embargo, la frecuencia de edición de este recurso es escasa (quizás 2 al mes).

Prefiero que el recurso se guarde en la memoria caché en el navegador, ya que se recuperará con frecuencia, pero también me gustaría que el caché se reinicie en el navegador en un intervalo semi-regular.

Sé que puedo pasar un encabezado que no es de caché cuando solicito el recurso, pero me preguntaba cuándo el caché se reiniciaría automáticamente en el navegador si no pasara no-cache.

Me imagino que esto sería independiente para cada navegador, pero no estoy seguro.

Traté de buscar esto en Google, pero la mayoría de los hits que encontré trataban de borrar el caché del navegador … que no es lo que estoy buscando.

Puede pasar una cadena de versión como un parámetro get a la URL de su etiqueta de secuencia de comandos. El parámetro no será evaluado por el archivo JavaScript estático, pero obligará al navegador a obtener la nueva versión.

Si no desea asignar la cadena de versión cada vez que editó la fuente, puede calcularla según la marca de tiempo del sistema de archivos o el número de confirmación de subversión:

  

Coloque una versión en su código de JavaScript como este que se actualiza cuando realiza un cambio

  

Ellos siempre obtendrán una nueva versión.

HTTP proporciona varios controles para el almacenamiento en caché que los navegadores ignoran de diferentes maneras. Si establece una fecha de caducidad razonable, la mayoría de los navegadores verificarán si tienen la versión actual con las frecuencias apropiadas.

El término de búsqueda que desea incluir aquí (para evitar las instrucciones del usuario del navegador) es HTTP.

Para más ver:

  • Tutorial de almacenamiento en caché para autores web y webmasters
  • Cómo funcionan las cachés web (un poco antiguas, pero aún útiles).
  • HTTP / 1.1: almacenamiento en caché en HTTP