web-dev-qa-db-fra.com

Définition d'une date d'expiration ou d'un âge maximum dans les en-têtes HTTP

Je viens de terminer un site Web que j'ai conçu et soumis à Google Insights http://developers.google.com/speed/pagespeed/insights/ pour des évaluations de performances, et c'est le résultat que j'ai obtenu. enter image description here

Il dit, je dois définir la date d'expiration ou un âge maximum dans les en-têtes HTTP, mais je ne sais pas comment il est possible de définir la date d'expiration pour autre chose que les cookies/sessions, donc je n'ai aucune idée de ce que cela signifie ou comment faire.

toute aide serait très appréciée

27
samayo

Généralement, cela se fait en utilisant le fichier .htaccess sur votre hôte. Voici un exemple coupé et collé de en-têtes de cache HTTP avec .htaccess

<IfModule mod_headers.c>
# WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>
</IfModule>

Si vous livrez des matériaux à partir d'un shell PHP vous pouvez utiliser PHP pour créer l'en-tête, auquel cas vous vous référerez au protocole HTTP décrit ici section 14.9 Contrôle du cache) http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

<?php
/* This file is a wrapper, */

header( 'Cache-Control: max-age=604800' );
/* now get and send images */
?>

Je considère le .htaccess comme la plus facile des deux méthodes.

47
Wayne