teclado son que los las eliminar como chrome celular cache borrar http caching proxy header cache-control

http - son - Caché de proxy-¿Qué pasa con las cookies?



que son las cookies (1)

Leí http://code.google.com/speed/page-speed/docs/caching.html . Dice que los servidores proxy pueden almacenar cookies. Necesito una aclaración.

Digamos que tengo este encabezado para mis archivos: Cache-Control "max-age=604800, public"
Q.1. Con este encabezado, ¿se almacenarán en caché las cookies de la computadora de una persona en el servidor proxy cuando se acceda a un archivo estático? (Entonces, ¿la siguiente persona que acceda al archivo recogerá las cookies de la otra persona?)

Ahora, digamos que el código del caché fue como Cache-Control "max-age=7200, proxy-revalidate" lugar.
Q.2. ¿Cuál sería la diferencia en cuanto a la caché de cookies en el servidor proxy?

Ahora tengo una pregunta sobre los archivos que realmente configuran las cookies (como Javascript o PHP).
Q.3. ¿Se almacenarán las cookies en el servidor proxy cuando se acceda a este tipo de archivos? ¿O es el caché lo mismo que los archivos estáticos?

En caso de que se lo pregunte, la razón por la que pregunto estas cosas es porque no creo que las cookies de una persona se almacenen en el proxy y se transfieran a otra persona. Así que cualquier aclaración realmente ayudaría. Muchas gracias!

Editar:
Muchas gracias por toda la ayuda. Pero todavía necesito un poco más de aclaración.

Si tengo archivos con el encabezado Cache-Control "max-age=604800, public" , ¿se transferirán las cookies de solicitud ( Cookie ) o las cookies de respuesta ( Set-Cookie ) a la computadora de otro usuario (ya que está en el caché)? ¿O se almacenará en caché solo para la navegación de ese usuario individual? ¿Qué pasa si la configuración es Cache-Control "max-age=7200, proxy-revalidate" ? Gracias de nuevo.


Depende del proxy y del encabezado de respuesta Vary . En general, los proxies no almacenarán en caché una respuesta a una solicitud que tenga un encabezado de Cookie . Sin embargo, eso no está realmente garantizado.

Cuando especifica su encabezado Cache-Control con la directiva public , está solicitando a los servidores proxy que compartan la memoria caché entre diferentes clientes. Probablemente esa no sea su intención, por lo que debe especificar private lugar. Consulte: http://www.mnot.net/cache_docs/#CACHE-CONTROL

¿Cuál sería la diferencia en cuanto a la caché de cookies en el servidor proxy?

Realmente no. Todo lo que hace es decirle al proxy que no debe servir desde un caché obsoleto. No afecta cómo se controla el caché.

¿Se almacenarán las cookies en el servidor proxy cuando se acceda a este tipo de archivos? ¿O es el caché lo mismo que los archivos estáticos?

Para un software de nivel http (por ejemplo, un proxy), no hay diferencia entre el contenido estático y el dinámico. Las cookies son simplemente encabezados http que se envían con una solicitud (encabezado de Cookie ) o se envían con una respuesta (encabezados Set-Cookie )

Si configura una cookie en el navegador (ya sea a través de Javascript o desde el servidor, a través de un encabezado Set-Cookie ), el navegador enviará la cookie con todas las solicitudes subsiguientes al mismo dominio. Lo hace agregando un encabezado de Cookie con las solicitudes.

Editar:

Quiero que mis archivos reales se almacenen en caché en el proxy, pero no en las cookies de los usuarios individuales. ¿Cómo hago esto?

Debe evitar el almacenamiento en caché de cualquier respuesta que:

  • Contiene un encabezado Set-Cookie (ya que el proxy lo almacenaría en caché)
  • Hay un efecto secundario en el lado del servidor (por ejemplo, es importante que su aplicación reciba la solicitud; por ejemplo, no tendría sentido almacenar en caché un píxel de seguimiento)
  • Donde el contenido de las solicitudes El encabezado de la Cookie determina lo que se representa (por ejemplo, imprimiendo "Bienvenido de nuevo, John Doe" u otra personalización)

Cómo exactamente harás eso depende de tu tecnología backend. Es su aplicación la que sabe si el encabezado de la Cookie es importante para la respuesta o si una respuesta podría contener un encabezado Set-Cookie .

En el marco de la aplicación que uso, hay una función para configurar los encabezados caché por caducidad. Si llamo a eso y dentro de la misma solicitud accedemos a las cookies, obtendré un error. Esto garantiza que no pida accidentalmente un proxy para almacenar en caché el contenido privado. Necesita una lógica similar implementada en su aplicación.

Alternativamente, puede configurar un proxy de nivel de borde para hacer lo mismo. Normalmente se hace si no controlas la aplicación completamente.

Si tengo archivos con el encabezado Cache-Control "max-age = 604800, public", ¿se transferirán las cookies de solicitud (Cookie) o las cookies de respuesta (Set-Cookie) a la computadora de otro usuario (ya que está en el caché)? ¿O se almacenará en caché solo para la navegación de ese usuario individual?

Las cookies de solicitud no se almacenan en la memoria caché y no se transferirán a ninguna parte. La respuesta ( Set-Cookie ) se almacena en caché. Ya que especifica cache-control como público, se compartirá entre todos los clientes. Tenga en cuenta que aunque la cookie de solicitud no se almacena directamente en la memoria caché, si representa algo en la página que se basa en cookies (por ejemplo, si utiliza la cookie para el estado de sesión del lado del servidor, como la autenticación), almacenará en caché la respuesta personalizada.

¿Qué pasa si la configuración es Cache-Control "max-age = 7200, proxy-revalidate"? Gracias de nuevo.

La misma cosa. proxy-revalidate informa a los proxies (si hay alguno) que no pueden servir un caché obsoleto. Por ejemplo, una vez que hayan transcurrido los 7200 segundos, el caché debe ser purgado inmediatamente. Sin esto, los cachés generalmente seguirán sirviendo un caché obsoleto y luego buscarán una copia nueva en segundo plano, una vez que se haya alcanzado el tiempo de espera. O no - Depende del proxy.