Cacheable

Una respuesta cacheable es una respuesta HTTP que se puede almacenar en caché, que se almacena para recuperarla y usarla más tarde, guardando una nueva solicitud en el servidor. No todas las respuestas HTTP se pueden almacenar en caché, estas son las siguientes restricciones para que una respuesta HTTP se almacene en caché:

  • El método utilizado en la solicitud se puede almacenar en caché, es decir, un método GET o HEAD. Una respuesta a una solicitud POST o PATCH también se puede almacenar en caché si se indica frescura y el encabezado Content-Location es establecido, pero esto rara vez se implementa. (Por ejemplo, Firefox no lo admite según https://bugzilla.mozilla.org/show_bug.cgi?id=109553.) Otros métodos, como PUT o DELETE no se pueden almacenar en caché y su resultado no se puede almacenar en caché.
  • El código de estado de la respuesta es conocido por el almacenamiento en caché de la aplicación, y se considera almacenable en caché. El siguiente código de estado se puede almacenar en caché: 200, 203, 204, 206 , 300, 301, 404, 405, 410, 414 y 501.
  • No hay encabezados específicos en la respuesta, como Cache-Control, que impide el almacenamiento en caché.

Tenga en cuenta que algunas solicitudes / respuestas no almacenables en caché a un URI específico pueden invalidar las respuestas almacenadas previamente en caché en el mismo URI. Por ejemplo, un PUT a pageX.html invalidará todas las solicitudes GET o HEAD en caché al mismo URI.

Cuando ambos, el método de la solicitud y el estado de la respuesta, se pueden almacenar en caché, la respuesta a la solicitud se puede almacenar en caché:

GET /pageX.html HTTP / 1.1
(...)

200 OK
(...)

Una solicitud PUT no se puede almacenar en caché. Además, invalida los datos en caché para solicitarlos al mismo URI realizado a través de HEAD o GET:

PUT /pageX.html HTTP / 1.1
(...)

200 OK
(...)

Un encabezado específico Cache-Control en la respuesta puede evitar el almacenamiento en caché:

GET /pageX.html HTTP / 1.1
(...)

200 OK
Control de caché: sin caché
(...)