Colección de citas famosas - Colección de consignas - Detalles-cache-control de solicitud http de front-end (mecanismo de almacenamiento en caché)

Detalles-cache-control de solicitud http de front-end (mecanismo de almacenamiento en caché)

Las directivas de control de caché en la solicitud y la respuesta no son exactamente las mismas. Consulte aquí para obtener más detalles, incluido el significado específico de las instrucciones, que no entraré en detalles aquí. (Predeterminado: privado)

El mecanismo de almacenamiento en caché del navegador se basa en el identificador de caché del mensaje HTTP. Cuando el navegador obtiene el resultado de la solicitud después de realizar la primera solicitud al servidor, decidirá si almacenar en caché el resultado en función del identificador de caché del encabezado HTTP en el mensaje de respuesta.

Las estrategias de almacenamiento en caché del navegador se dividen en dos tipos: almacenamiento en caché forzado y almacenamiento en caché negociado.

Fuerza al caché a no enviar una solicitud al servidor, sino a leer el recurso directamente desde el caché. Puede ver que el código de estado devuelto por la solicitud es 200 y el tamaño indica la ubicación del caché.

El orden en que el navegador lee el caché es memoria ->disco.

Principio de almacenamiento en caché de nivel 3 (prioridad de acceso a la caché):

En el navegador, el navegador analiza js, fuentes, imágenes y otros archivos y los almacena directamente en la memoria caché, por lo que cuando Al actualizar la página, solo necesita leerla directamente desde la memoria caché; el archivo css se almacenará en el archivo del disco duro, por lo que cada vez que renderice la página, deberá leer el caché desde el disco duro.

¿Por qué está CSS en la caché del disco duro?

Debido a que el archivo CSS se puede procesar una vez cargado, no lo leemos con frecuencia, por lo que no es adecuado para el almacenamiento en caché en la memoria, pero scripts como js se pueden ejecutar en cualquier momento. Si los scripts están en el disco, necesitamos recuperarlos del disco a la memoria al ejecutarlos, por lo que la sobrecarga de IO es muy alta, lo que puede provocar que el navegador deje de responder.

Si el recurso del servidor se modificó la última vez>: Valor del campo If-Modified-Since

Entonces el recurso con el código de estado 200 se devuelve nuevamente, de lo contrario, regresa a 304, que; Esto significa que el recurso no se actualiza y los archivos almacenados en caché pueden seguir utilizándose.

El valor del campo de If-None-Match = el valor de Etag del recurso en el servidor.

Si son consistentes, se devolverá 304, lo que significa que el recurso no se actualizará y el archivo de caché continuará utilizándose; si es inconsistente, se devolverá el archivo de recursos con el código de estado 200; volvió de nuevo.

La diferencia entre ETag y la hora de la última modificación

Enlace de referencia:

blogs.com/suihang/p/12855345.html

/p/54cc04190252