HTTP almacenamiento en caché de notas de estudio

Varios tipos de caché

El almacenamiento en caché es una técnica para guardar una copia del recurso y utilizar las copias directamente en la siguiente solicitud. Cuando la caché web encuentra el recurso solicitado se ha almacenado, intercepta la solicitud y devuelve una copia del recurso y no volver a descargar el servidor de origen.
Hay muchos tipos de cachés que generalmente caen en dos categorías: caché privado y compartido. la memoria caché compartida en respuesta a una pluralidad de usuarios puede ser utilizado sólo para usuarios individuales caché privada.
A continuación se describe la caché del navegador, además de proxy caché, caché de puerta de enlace, CDN, el almacenamiento en caché de proxy y equilibrador de carga inversa desplegado en el servidor, etc., para proporcionar una mejor estabilidad y rendimiento para aplicaciones y sitios web y escalabilidad.
Común HTTP GET caché la respuesta sólo puede almacenar para otros tipos de respuestas son impotentes.

Reglas de caché

Para facilitar la comprensión, creemos que hay una base de datos de la caché del navegador para almacenar información en caché (de hecho los recursos estáticos se almacenan en caché en la memoria y en el disco), cuando los primeros datos de la solicitud del navegador, en este momento no hay ninguna base de datos de caché correspondientes datos de la caché, lo que necesita para solicitar un servidor, el servidor devolverá reglas de datos y la memoria caché, el navegador caché de las reglas y el almacenamiento de datos en la base de datos de caché.
Podemos estar divididos en dos categorías fuertes almacenamiento en caché, la memoria caché de negociación

caché fuerte

Si se juzga navegador caché local no ha expirado, se utiliza directamente sin iniciar http petición.
Cache-Control es la regla más importante, el valor predeterminado es privada.

private     私有缓存
public      共享缓存
max-age     缓存的内容将在 xxx 秒后失效
no-cache    需要使用对比缓存来验证缓存数据
no-store    所有内容都不会缓存,强缓存、协商缓存都不会触发

Nota: En la versión HTTP 1.0, el tiempo absoluto Expira campo se obtiene del servidor, ya que la solicitud lleva tiempo, por lo que el tiempo de solicitud con el navegador servidor recibe una petición adquirida errores de tiempo, que también llevó a un acierto de caché errores en la versión HTTP 1.1, ya que el valor de control de caché max-age = xxx xxx es el tiempo relativo en unidades de segundos, por lo que el navegador recibe el recurso de iniciar la cuenta atrás, para evitar un golpe en el caché HTTP 1.0 deficiencias de error, para ser compatible con la versión de baja de HTTP de protocolo, en respuesta al desarrollo normal de dos cabezas se utilizan simultáneamente, la versión 1.1 de HTTP lograr mayor prioridad que HTTP 1.0.

consulta caché

Datos primera solicitud del navegador, el servidor devolverá con el identificador de caché de datos al cliente, la copia de seguridad de base de datos caché del cliente a la vez. Cuando de nuevo los datos de la solicitud, el identificador de memoria caché del cliente se envía al servidor de copia de seguridad, el identificador del servidor se determina de acuerdo a la memoria intermedia, después de determinar el éxito, regresó código de estado 304, los notifica a los clientes la comparación tiene éxito, la caché de datos se pueden utilizar.

HTTP 1.0

If-Modified-Since / última- Modificado
estos dos negociación de contenido se emparejan, se almacenan en caché, en el que el navegador es el jefe de If-Modified-Since, mientras que el servidor es el último-Modificado, su papel es, cuando se inicia la solicitud, si el If-Modified-Since y combinar última modificación, en nombre de los recursos del servidor no ha cambiado, por lo que el servidor no devuelve la entidad de recursos, pero sólo para volver la cabeza, le dice al navegador puede utilizar la caché local. Última modificación, por definición, se refiere al tiempo de la última modificación del archivo, y sólo puede tener una precisión de 1 s.

HTTP 1.1

If-None-Match / E- etiqueta de
estos dos están emparejados, el contenido de la caché de pertenencia a la negociación, que es la cabecera del navegador If-None-Match, mientras que el servidor es el E-tag, del mismo modo, después de hacer la solicitud si el Si-Ninguno-partido y el partido e-tag, significa que el contenido no ha cambiado, notificar al navegador utiliza la caché local, y diferente de Last-Modified, e-tag, más precisamente, es algo similar a las huellas dactilares, basado FileETag iNODE -mtime generación de tamaño, siempre y cuando cambian los archivos, la huella digital va a cambiar, y no hay ningún límite exactitud 1s.

Hacer de la política de almacenamiento en caché más robusto, flexible, HTTP 1.0 y HTTP 1.1 versión versión en caché de la estrategia se utilizará de forma simultánea, e incluso forzar la memoria caché y caché de consulta se pueden utilizar simultáneamente para la caché obligatoria, el servidor le dice a la caché del navegador una vez, en el tiempo de caché , la siguiente petición, el caché de forma directa, más allá del tiempo efectivo, realice la operación de almacenamiento en caché de consulta política, la negociación para la caché, la información de la caché en la cabecera ETag y Modified-Última envía al servidor solicitando el If-None-Match y If-Modified-Since, cuando la creación de una nueva caché al mismo tiempo, forzada por la verificación del servidor, comprobar y devolver el código de estado 304 a través del navegador directamente a través de la memoria caché, la memoria caché si las negociaciones no han llegado, de restablecer el servidor caché negociación identidad.

Supongo que te gusta

Origin www.cnblogs.com/superlizhao/p/12667904.html
Recomendado
Clasificación