Répondre à un header If-Modified-Since

Pasco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 13 Mai 2005

Répondre à un header If-Modified-Since

Message le Dim Avr 09, 2006 14:56

Salut,

J'ai un site tout en php, que des pages dynamiques.
A la différence d'un site statique, il n'envoie pas automatiquement d'info sur la date des dernières modifications. J'ai donc pris la précaution de rajouter
Code: Tout sélectionner
header("Last-Modified: " . gmdate("D, d M Y H:i:s",$last_modif) . " GMT");

en calculant $last_modif par ailleurs.

Seulement, si je comprends bien, cela ne répond pas à une requête client qui contient le header If-Modified-Since.
Il faudrait :
- détecter le header client If-Modified-Since ;
- comparer la date de ce header à celle du document ;
- renvoyer le document si la date du document est plus récente que la date du header client ;
- sinon renvoyer seulement le header 304 not-modified ;

1°) Est-ce que cette analyse est correcte ?
2°) Est-ce que quelqu'un a un tel script déjà prêt ?

Pasco

Pasco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 13 Mai 2005

Message le Dim Avr 09, 2006 16:02

Bon vous fatiguez pas, j'ai trouvé :

1°) c'est effectivement ce qu'il faut faire ;
2°) il suffit de faire ça

Code: Tout sélectionner
   
$if_modified_since = preg_replace('/;.*$/', '',$HTTP_IF_MODIFIED_SINCE);
$gmdate_mod = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
if ($if_modified_since == $gmdate_mod)
         {
         header("HTTP/1.0 304 Not Modified");
         exit;
         }
header("Last-Modified: " . $gmdate_mod);


avec $mtime la date de la dernière modif de la page consultée.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Answers

  • Analyse de l'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités