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?