Detalles-cache-control de solicitud http de front-end (mecanismo de almacenamiento en caché)
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