IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Utilité des codes http


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 52
    Points : 43
    Points
    43
    Par défaut Utilité des codes http
    Bonjour,

    Je suis actuellement en train de suivre un cours en ligne qui explique comment utiliser symfony. Dans la partie concernant l'objet response, on me parle de cette méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $response->setStatusCode(404);
    Je ne m'étais jamais posé la question de l'utilité des codes http. Dans cet exemple, on fournit comme code dans le cas d'une adresse non trouvée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        $response = new Response;
        $response->setContent('Ceci est une page d\'erreur 404');
        $response->setStatusCode(404);
        return $response;
    Je ne vois pas l'utilité du "setStatusCode" si on indique à l'utilisateur déja qu'il s'agit d'une erreur 404. Enfin, normalement c'est pas le serveur qui renvoie ça? Je m'embrouille... Quel peut être l'interet de définir le code HTTP en fait? Je ne me suis jamais posé la question. Pour les logs? Ma question doit vous sembler ridicule...

    Merci

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Il y a une flopée de bonnes raisons d'utiliser les codes http.

    Je pense que le web ne manque pas d'informations concernant le sujet, et Symfony reposant sur les fondamentaux du protocole HTTP, voir ou revoir les bases en matière de requêtes et de réponses peut t'aider à comprendre pas mal de choses.

    Je vais te donner le premier exemple qui me vient à l'esprit.

    Erreurs 404 :
    En tant qu'utilisateur je ne vois pas une différence folle entre une page blanche avec un message d'erreur et une page blanche avec un message d'erreur et un code 404.

    Il arrive cependant sur certains sites de voir des pages 404 personnalisées (et pas une page blanche avec écrit 404 NOT FOUND) sur laquelle on explique que la page n'existe pas, ou peut-être que le numéro demandé en paramètre dans l'URL n'existe pas etc.
    Les erreurs 404 peuvent parfois être catchées par le site (via les .htaccess pour faire une redirection vers une page personnalisée moins moche que la 404 par défaut).

    Sur un tel site si je tape http://monSite.dev/unTrucInaccessible, la réponse http aura le code 404 car la page n'existe pas. Si aucune page 404 n'est configurée je vais avoir une moche page blanche comme ceci => http://www.developpez.net/foruftghdfgh. Si j'ai créé une page 404 et configuré mon htaccess pour qu'il catche les 404 et redirige vers ma 404 custom, c'est cette dernière qui va s'afficher..
    Pourtant les deux ont un code 404 ...

    Maintenant imagine que tu vas à l'URL http://monSite.dev/edit/page/12 ou l'action edit existe mais pas la page 12. Tu dois gérer ce cas toi même dans le contrôleur.

    Tu peux gérer ça en renvoyant une réponse et un message d'erreur, auquel cas tu auras une page blanche avec ton message écrit et par défaut un code http 200 ("tout s'est bien passé : on m'a dit que la réponse a renvoyer était uniquement un message"), ou bien rajouter le code d'erreur qui va alors être catché par le .htaccess et t'emmener sur la page 404 custom avec le message d'erreur que tu aura défini dans ton contrôleur.

    Tu peux faire la même chose avec les erreurs 500 par exemple (les erreurs qui apparaissent généralement quand quelque chose va mal dans ton code), les catcher et rediriger pour que l'internaute n'aie pas une page trop brutale qui lui dise SERVER ERROR ! En tant que webmaster tu peux aussi recevoir les rapports d'erreur pour ces codes etc.

    Il y a des centaines d'autres exemples sans doute plus probants mais ça t'aidera déjà peut-être à te faire une toute petite idée.

    A+

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/08/2007, 16h06
  2. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  3. Cherche table des communes de France et table des codes NAF
    Par grandmaitrezen dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/08/2004, 14h32
  4. utilité des DbControl
    Par portu dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/07/2004, 05h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo