control cache php caching http-headers

php - cache control no cache



¿Cuál es el encabezado de Pragma? Almacenamiento de páginas en caché... e IE (1)

En una forma muy simplificada, Pragma:no-cache or Pragma:cache son ahora formas "casi" obsoletas de pasar instrucciones de almacenamiento en caché a las implementaciones del cliente, específicamente los navegadores y los proxies. La forma en que la implementación del cliente responde a los encabezados de Pragma varía y por eso la especificación dice que es específica de la implementación.

La forma más moderna de Cache-control de Cache-control es con la que puede confiar de forma segura, ya que casi todas las implementaciones de cliente lo siguen de manera rígida.

Además, si tiene tanto Cache-control como Pragma configurados para la misma instrucción, digamos "caching", entonces Cache-control tiene prioridad.

Este es un excelente artículo sobre todo lo relacionado con Caching y creo que es una lectura muy interesante y útil: http://www.mnot.net/cache_docs/

Así que estoy enviando un encabezado en php para almacenar en caché mi página (esto se integra en nuestro "CDN" (contendo / akamai) también). Siempre uso este pragma: encabezado de caché, he visto varios ejemplos usarlo también; sin embargo, acabo de ver el violinista para probar el tráfico de esta aplicación .net que desarrollamos y dice:

Legacy Pragma Header is present: cache !! Warning IE supports only an EXACT match of "Pragma: no-cache". IE will ignore the Pragma header if any other values are present. ...

Supongo que está bien. El resto de la respuesta parece estar bien y según mis especificaciones. Aquí está mi código:

function headers_for_page_cache($cache_length=600){ $cache_expire_date = gmdate("D, d M Y H:i:s", time() + $cache_length); header("Expires: $cache_expire_date"); header("Pragma: cache"); header("Cache-Control: max-age=$cache_length"); header("User-Cache-Control: max-age=$cache_length"); }

La pregunta es, ¿esto importa? ¿Qué hace el encabezado pragma incluso? ¿Lo necesito? Revisé la documentación de la especificación del encabezado HTTP y dijo que es específica de la implementación y que el único Pragma que se aplica es "Pragma: no-caché".

¿Es esta la mejor opción de encabezados para almacenar en caché durante un tiempo específico?