Pregunta

Descubrí que algunos sitios web utilizan etiquetas css como style.css? ver = 1 . ¿Qué es esto?

¿Cuál es el propósito de ? ver = 1 ?

¿Cómo lo hago en código?

¿Fue útil?

Solución

Para evitar el almacenamiento en caché de CSS.
Si el sitio web actualiza su CSS, actualiza la versión a un número más alto, por lo tanto, el navegador se ve obligado a obtener un nuevo archivo y no utiliza la versión anterior en caché.
De lo contrario, un navegador puede obtener un nuevo código HTML y CSS antiguo y algunos elementos del sitio web pueden parecer dañados.

Otros consejos

La adición de '? ver = 1' hace que la solicitud HTTP parezca una consulta GET con parámetros, y los navegadores (y proxies) de buen comportamiento se negarán a almacenar consultas parametrizadas. Por supuesto, los navegadores (y proxies) de buen comportamiento también deben prestar atención a los encabezados de respuesta 'Cache-control: no-cache', 'Expires', 'Last-Modified' y 'ETag' (todos los cuales se agregaron a HTTP para especificar el comportamiento correcto de almacenamiento en caché).

El método '? ver = 1' es una forma costosa de forzar el comportamiento cuando el desarrollador del sitio no sabe cómo (o es demasiado vago) implementar los encabezados de respuesta correctos. En particular, significa que cada solicitud de página forzará la solicitud de ese archivo CSS, aunque, en la práctica, los archivos CSS cambian raramente, si es que lo hacen.

¿Mi recomendación? No lo hagas.

El propósito de? ver = 1 es parametrizar el archivo css, de modo que cuando publican un nuevo archivo style.css, suben la versión y obligan al cliente a descargar el nuevo archivo, en lugar de extraerlo de la versión almacenada en caché. .

Creo que ? ver = 1 es para la versión no. de la aplicación web. Cada vez que se crea una nueva compilación, la aplicación puede actualizar ver a la nueva versión. Esto es para que el navegador cargue el nuevo archivo CSS y no use el archivo en caché (ambos usan nombres de archivo diferentes).

Puede consultar este sitio: http://www.knowlegezone.com/36/article/Technology/Software/JavaScript/CSS-Caching-Hack----javascript-as-well

Si está desarrollando una aplicación web en HTML y CSS o cualquier otra tecnología, y está usando algunos archivos CSS o JS externos, puede notar una cosa que, en algunos casos, si realizó algún cambio en su .css o Los archivos .js entonces los navegadores no están reflejando los cambios inmediatamente.

Lo que sucede en ese caso es que el navegador no descarga una copia nueva de la última versión de los archivos .css y .js, sino que utiliza los archivos almacenados en su caché local. Como resultado, los cambios que realizó recientemente no son visibles para usted.

<link rel="stylesheet" href="style.css?v=1.1"> 

El caso anterior cuando carga la página web que tratará el navegador " style.css " como un archivo diferente junto con "? v = 1.1 " ;. Por lo tanto, el navegador se ve obligado a descargar una copia nueva si la hoja de estilo o el archivo de secuencia de comandos.

OMI, una mejor forma de hacerlo sería incluir un hash generado a partir del tamaño del archivo o una suma de comprobación basada en el contenido del archivo o la fecha de la última modificación. De esa manera, no tiene que actualizar algún número de versión y simplemente dejar que el número se elimine de las propiedades cambiantes del archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top