2010-10-14 28 views

Respuesta

10

Para forzar la actualización si ya está en la memoria caché del navegador. el v es probablemente corto para la versión.

7

Para ampliar Simon's correct answer ...

A menudo, para ahorrar ancho de banda, hojas de estilo (entre otros activos del sitio) enviar cabeceras al navegador que dicen que deben expirar mucho tiempo a partir de ahora (a menudo un año). También envían el encabezado 304 no modificado.

Esto es genial, pero ¿y si alguien quiere actualizar la hoja de estilo? Si se solicitó como style.css, y las solicitudes posteriores fueron a style.css, el usuario final nunca lo volvería a descargar (de todos modos, no por un año).

Para combatir esto, puede agregar una cadena de consulta que cambie cuando lo haga el archivo. Por ejemplo, se puede hacer fácilmente en PHP

<?php 
    $file = 'style.css'; 
?> 

<style type="text/css" rel="stylesheet" href="<?php echo $file . '?v=' . filemtime($file); ?>" /> 

Ahora, cuando el archivo se actualiza, los cambios de cadena de consulta y el archivo se redownloaded a todos los usuarios finales. No se volverá a descargar hasta que (a) el tiempo de caducidad sea alto o (b) la cadena de consulta cambie de nuevo.

Cuestiones relacionadas