2010-04-14 21 views
12

me he dado cuenta que en algunos sitios web (incluyendo SO) el enlace a la CSS se verá así:¿Qué significa el signo de interrogación al final de un css incluyendo url do?

<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=6638"> 

, diría que es seguro asumir que ?v=6638 le dice al navegador a cargar la versión 6638 del archivo CSS . ¿Pero puedo hacer esto en mis sitios web y puedo incluir diferentes versiones de mi archivo CSS simplemente cambiando los números?

+0

http://stackoverflow.com/questions/1369354/what-is-the-use-of-v747-at-the-end-of-site-media-base-cssv747 –

Respuesta

19

que carga all.css con una cadena de consulta diferente, de modo que si la versión 6637, por ejemplo, ya está en caché en su máquina, obtendrá la nueva (6638). Al cambiar ese número (en este caso) no le dará un archivo diferente.

Esto es sólo un truco de caché para que puedan enviar el archivo abajo sin la expiración (es decir, que nunca tenga que pedir otra vez), porque cuando se cambia , el "nombre de archivo", los cambios.


Dicho esto, usted podría que así se carga una versión diferente basado en el parámetro de cadena de consulta. Hacerlo sería un poco no trivial y similar a cómo se obtienen diferentes preguntas cuando se pasa una ID de pregunta diferente a la URL de esta página.

+0

Así que, ¿el navegador simplemente se olvida de la número desde la última vez que lo visitó y luego, si no coincide la próxima vez, vuelve a cargar el archivo CSS; de lo contrario, solo utiliza el almacenado en caché? –

+0

Sí, más o menos. Lo que sucede aquí es que los archivos se envían con datos adicionales (encabezados) que dicen "nunca vuelvas a pedir este archivo, nunca cambia". Como lo hacen, el sitio es más rápido (uno menos solicita cada carga). PERO cuando el archivo * no * cambia, lo comunican cambiando su nombre. –

+1

Trate de ignorar que el número de versión es un parámetro de cadena de consulta: piense en todo: ruta, nombre, cadena de consulta como parte del nombre del archivo. Cuando alguno de ellos cambia, se trata como un "archivo" o recurso completamente único. –

Cuestiones relacionadas