header() -> quelle entête pour...
21 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
header() -> quelle entête pour...
Bonsoir,
Dans le cadre d'un script permettant la gestion d'erreur(s) (mysql, maintenance sur site, etc..) je souhaite savoir quelle est l'entête la plus appropriée à envoyer en http.
Voici une liste recouvrant pas mal de possibilités (sans doute en manque t-il):
* 100 : OK pour continuer
* 101 : le serveur a changé de protocoles
* 200 : requête effectuée avec succès
* 201 : document créé (raison : nouvelle URI)
* 202 : requête achevée de manière asynchrone (TBS)
* 203 : requête achevée de manière incomplète
* 204 : aucune information à renvoyer
* 205 : requête terminée mais formulaire vide
* 206 : requête GET incomplète
* 300 : le serveur ne peut pas déterminer le code de retour
* 301 : document déplacé de façon permanente
* 302 : document déplacé de façon temporaire
* 303 : redirection avec nouvelle méthode d'accès
* 304 : le champ 'if-modified-since' n'était pas modifié
* 305 : redirection vers un proxy spécifié par l'entête
* 307 : HTTP/1.1
* 400 : erreur de syntaxe dans l'adresse du document
* 401 : pas d'autorisation d'accès au document
* 402 : accès au document soumis au paiement
* 403 : pas d'autorisation d'accès au serveur
* 404 : la page demandée n'existe pas
* 405 : méthode de requête du formulaire non autorisée
* 406 : requête non acceptée par le serveur
* 407 : autorisation du proxy nécessaire
* 408 : temps d'accès à la page demandée expiré
* 409 : l'utilisateur doit soumettre à nouveau avec plus d'infos
* 410 : cette ressource n'est plus disponible
* 411 : le server a refusé la requête car elle n'a pas de longueur
* 412 : la précondition donnée dans la requête a échoué
* 413 : l'entité de la requête était trop grande
* 414 : l'URI de la requête était trop longue
* 415 : type de média non géré
* 500 : erreur interne du serveur
* 501 : requête faite au serveur non supprimée
* 502 : mauvaise passerelle d'accès
* 503 : service non disponible
* 504 : temps d'accès à la passerelle expiré
* 505 : version HTTP non gérée
Quelle entête me conseillez-vous pour ces deux cas:
- maintenance du serveur
- erreur mysql
Cela ayant principalement pour but de dire, dans le cas d'un passage d'un robot, qu'il y a eu une erreur qui peut être d'une durée plus ou moins longue, dans le cas de mysql et une maintenance temporaire sur le serveur ou le site, de manière à avertir ce dernier.
Merci de votre aide.
E D I T :
Pour ceux qui reste pessimiste quant à l'utilisation du header, il est très utile, notament si vous avez par exemple une erreur Mysql "Too many connection", cela évite au robot de remplacer l'ancien contenu par votre message d'erreur personnalisé, etc...
De même en cas de maintenance sur le site, cela permet de l'indiquer au robot pour qu'il puisse repasser plus tard...
Dans le cadre d'un script permettant la gestion d'erreur(s) (mysql, maintenance sur site, etc..) je souhaite savoir quelle est l'entête la plus appropriée à envoyer en http.
Voici une liste recouvrant pas mal de possibilités (sans doute en manque t-il):
* 100 : OK pour continuer
* 101 : le serveur a changé de protocoles
* 200 : requête effectuée avec succès
* 201 : document créé (raison : nouvelle URI)
* 202 : requête achevée de manière asynchrone (TBS)
* 203 : requête achevée de manière incomplète
* 204 : aucune information à renvoyer
* 205 : requête terminée mais formulaire vide
* 206 : requête GET incomplète
* 300 : le serveur ne peut pas déterminer le code de retour
* 301 : document déplacé de façon permanente
* 302 : document déplacé de façon temporaire
* 303 : redirection avec nouvelle méthode d'accès
* 304 : le champ 'if-modified-since' n'était pas modifié
* 305 : redirection vers un proxy spécifié par l'entête
* 307 : HTTP/1.1
* 400 : erreur de syntaxe dans l'adresse du document
* 401 : pas d'autorisation d'accès au document
* 402 : accès au document soumis au paiement
* 403 : pas d'autorisation d'accès au serveur
* 404 : la page demandée n'existe pas
* 405 : méthode de requête du formulaire non autorisée
* 406 : requête non acceptée par le serveur
* 407 : autorisation du proxy nécessaire
* 408 : temps d'accès à la page demandée expiré
* 409 : l'utilisateur doit soumettre à nouveau avec plus d'infos
* 410 : cette ressource n'est plus disponible
* 411 : le server a refusé la requête car elle n'a pas de longueur
* 412 : la précondition donnée dans la requête a échoué
* 413 : l'entité de la requête était trop grande
* 414 : l'URI de la requête était trop longue
* 415 : type de média non géré
* 500 : erreur interne du serveur
* 501 : requête faite au serveur non supprimée
* 502 : mauvaise passerelle d'accès
* 503 : service non disponible
* 504 : temps d'accès à la passerelle expiré
* 505 : version HTTP non gérée
Quelle entête me conseillez-vous pour ces deux cas:
- maintenance du serveur
- erreur mysql
Cela ayant principalement pour but de dire, dans le cas d'un passage d'un robot, qu'il y a eu une erreur qui peut être d'une durée plus ou moins longue, dans le cas de mysql et une maintenance temporaire sur le serveur ou le site, de manière à avertir ce dernier.
Merci de votre aide.
E D I T :
Pour ceux qui reste pessimiste quant à l'utilisation du header, il est très utile, notament si vous avez par exemple une erreur Mysql "Too many connection", cela évite au robot de remplacer l'ancien contenu par votre message d'erreur personnalisé, etc...
De même en cas de maintenance sur le site, cela permet de l'indiquer au robot pour qu'il puisse repasser plus tard...
Dernière édition par thierry8 le Mar Avr 04, 2006 21:12, édité 3 fois.
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
TOMHTML a écrit:moi je vote pour 503
mais j'attends de voir ce que disent les autres pour t'affirmer ça à 100%
J'avais en effet pensé à 503 pour la maintenance du site et à la 500 pour une erreur mysql ( ou s'y rapprochant ).
J'attends également d'autres avis..
Dernière édition par thierry8 le Mar Avr 04, 2006 20:10, édité 1 fois.
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
Merci.
A Savoir en PHP:
Bien souvent on cherche avec la fonction header() une correspondance en texte.
Par Exemple : header("Not Found", true, 404);
Or petite astuce qui permet d'envoyer une entête connue sans cela, consiste simplement à ne rien mettre :
header("", true, 404);.
Ceci est tout autant fonctionnel !
J'ai même constater que cela renvoit les mêmes entêtes http que celle générée par apache lorsqu'il y a une véritable "erreur". Cela évite également à un hackeur, de trouver une possibilité de faille, lorsque vous employez le header() pour des fins de sécurité.
A Savoir en PHP:
Bien souvent on cherche avec la fonction header() une correspondance en texte.
Par Exemple : header("Not Found", true, 404);
Or petite astuce qui permet d'envoyer une entête connue sans cela, consiste simplement à ne rien mettre :
header("", true, 404);.
Ceci est tout autant fonctionnel !
J'ai même constater que cela renvoit les mêmes entêtes http que celle générée par apache lorsqu'il y a une véritable "erreur". Cela évite également à un hackeur, de trouver une possibilité de faille, lorsque vous employez le header() pour des fins de sécurité.
-

TOMHTML - WRInaute accro

- Messages: 3250
- Inscription: 25 Aoû 2004
quand redbus a mis tous nos sites HS, quel était le code HTTP renvoyé ?
car j'ai vu grâce à sitemaps que gg est passé sur mon site en plein pendant le blackout, et en fait en gros il a fait "ah, le site marche pas ? bon ben c'est pas grave je repasserai" (oui je suis des cours de googlebot, pour taper discute avec lui
)
c'est ce code là qu'il faudrait mettre peut être, non ?
car j'ai vu grâce à sitemaps que gg est passé sur mon site en plein pendant le blackout, et en fait en gros il a fait "ah, le site marche pas ? bon ben c'est pas grave je repasserai" (oui je suis des cours de googlebot, pour taper discute avec lui
c'est ce code là qu'il faudrait mettre peut être, non ?
- maddanny
- WRInaute occasionnel

- Messages: 282
- Inscription: 22 Mar 2005
TOMHTML a écrit:quand redbus a mis tous nos sites HS, quel était le code HTTP renvoyé ?
car j'ai vu grâce à sitemaps que gg est passé sur mon site en plein pendant le blackout, et en fait en gros il a fait "ah, le site marche pas ? bon ben c'est pas grave je repasserai" (oui je suis des cours de googlebot, pour taper discute avec lui)
c'est ce code là qu'il faudrait mettre peut être, non ?
Vu que ton site était HS, il n'y avait pas de code car le serveur ne répondait pas ... C'était tout bêtement un timeout coté googlebot.
Et non, il n'est pas possible de 'simuler' ce message avec php ou apache
MADdanny
-

AW - WRInaute passionné

- Messages: 2274
- Inscription: 31 Mai 2005
Bon ba moi je suis d'accord avec tout le monde 500 et 503. et j'ai aussi recommandé et bookmarker ce post
[mode joke]
Je me disais aussi que t'avais bien une astuce pour connaitre aussi bien google. Dis moi Madri il suit des cours aussi?
[mode /joke]
[mode joke]
TOMHTML a écrit:oui je suis des cours de googlebot, pour taper discute avec lui
Je me disais aussi que t'avais bien une astuce pour connaitre aussi bien google. Dis moi Madri il suit des cours aussi?
[mode /joke]
21 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Tester la validité d'un lien
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). - Test du code HTTP d'une page
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





