Répondre à un header If-Modified-Since
2 messages
• Page 1 sur 1
- Pasco
- Nouveau WRInaute

- Messages: 10
- Inscription: 13 Mai 2005
Répondre à un header If-Modified-Since
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
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
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

- Messages: 10
- Inscription: 13 Mai 2005
Bon vous fatiguez pas, j'ai trouvé :
1°) c'est effectivement ce qu'il faut faire ;
2°) il suffit de faire ça
avec $mtime la date de la dernière modif de la page consultée.
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.
2 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Header If-modified-since
- Différence entre "last-modified" et "if-modified-since"
- HTTP If-Modified-Since
- Code 304 - Not Modified
- Cache : Last-modified automatiquement spécifié par Apache
- header location Vs Header refresh ?
- header("Location: xxx") + header("Status: HTT
- Impossible de répondre
- Qui peut repondre à ça ?
- Peut ton me repondre
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
