fbern Posté 1 Décembre 2015 Partager Posté 1 Décembre 2015 bonjour on peut renvoyer des 304 à Google, connaissez vous un bon tuto fiable d'implémentation : par ex : comment faire pour que la 304 ne soit renvoyé qu'au robot et pas aux clients, quelles sont les méthodes de détection que l'on peut mette en place pour detecter qu'un contenu n'a pas été modifié. Toutes vos bonnes pistes sont les bienvenues ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 1 Décembre 2015 Partager Posté 1 Décembre 2015 Pour détecter qu'un contenu n'a pas été modifié, il faudra faire attention à deux choses principales : - la date de création ou de modification de ton contenu principal - la date de création ou de modification la plus récente des commentaires présents sur ta page, s'il y en a. Je ne suis pas hyper calé pour la détection de robots, par contre. Et, es-tu certain qu'ajouter cette en-tête peut t'apporter un véritable plus ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Message populaire. Cariboo Posté 15 Décembre 2015 Message populaire. Partager Posté 15 Décembre 2015 En fait, le code 304 n'est renvoyé que si le navigateur envoie une requête http:// dite "conditionnelle" au serveur web. Inutile de se préoccuper des robots vs utilisateurs, cela fonctionne tout seul. Ce que fait Googlebot, c'est d'envoyer régulièrement des requêtes conditionnelles en appelant le champ "if modified since". Si le serveur répond que la page n'a pas changé, il passe son chemin et réessaie plus tard. Si la page a changé, Googlebot téléchargera la page complète. Supporter les requêtes conditionnelles pour un serveur web diminue beaucoup la charge du serveur causée par les bots, et favorise l'exploration du site. La requête du bot ressemble à ça : GET /index.html HTTP/1.0 User-Agent: Mozilla/5.0 From: something.somewhere.net Accept: text/html,text/plain,application/* Host: www.example.com If-Modified-Since: Wed, 19 Oct 2005 10:50:00 GMT Si la page répond 304, alors le bot sait que la page n'a pas été modifiée. Et s'il répond 200, elle a été modifiée, et la nouvelle page est tout bonnement téléchargée. Nota Bene : un reverse proxy style Varnish est paramétré pour gérer les 304 par défaut. 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
eric73 Posté 15 Décembre 2015 Partager Posté 15 Décembre 2015 comment fait apache pour savoir si une page php va générer un code html différent ? ou alors, apache ne regarde que la date de dernière modification du fichier php ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
fbern Posté 17 Décembre 2015 Auteur Partager Posté 17 Décembre 2015 Merci beaucoup Cariboo pour rejoindre ce que dit eric73, cela faut-il dire qu'il faille stocker qq part la date de modification, par exemple en utilisant MD5 ? Mais cela n'est-il pas coûteux en ressources ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Message populaire. Cariboo Posté 17 Décembre 2015 Message populaire. Partager Posté 17 Décembre 2015 Non ce n'est pas en coûteux en ressources. L'info sur la date de dernière modification est renvoyée au navigateur (ou au bot) dans le header http:// Avec des pages dynamiques générées avec un langage orienté serveur, on met à jour le champ Last Modified avec un bout de script. Ex de champs header pour gérer les champs de mise en cache en php : $fp = fopen($_SERVER["SCRIPT_FILENAME"], "r"); $etag = md5(serialize(fstat($fp))); fclose($fp); header("Cache-Control: must-revalidate"); header("Last-Modified: ".gmdate("D, d M Y H:i:s", $SelectS['timestamp'])." GMT"); header('Etag: '.$etag); header("Expires: -1"); A chaque fois que le script est appelé, le bon champ last modified est généré. Evidemment, si la page ne change pas vraiment à chaque fois, il faut utiliser un script adapté. La fonction MD5 sert pour créer un etag unique pour une version de page, ce qui permet de piloter une autre fonction de cache ;-) 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fbern Posté 18 Décembre 2015 Auteur Partager Posté 18 Décembre 2015 Merci beaucoup Citation Evidemment, si la page ne change pas vraiment à chaque fois... c'est à dire que l'on peut doser le niveau de changement arbitrairement ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant