Tout d'abord un point important, REST n'est pas une norme ni un standard du Web, c'est juste une compilation de savoir-faires du bon sens commun.

REST est construit sur le protocole HTTP, c'est pourquoi on décidera de façon standard des contraintes suivantes :

  • GET : Une requête GET est "safe", elle peut être mise en cache et n'effectue aucune opération de modification coté serveur, on reservera donc GET à des opérations de lecture.
  • POST : Une requête POST sert à notifier le serveur d'une interaction avec le client, normalement un ajout, un nouveau commentaire sur un blog par exemple.
  • PUT : La méthode PUT sert quand à elle à modifier une ressource, modifier une page reçue avec GET précédemment par exemple.
  • DELETE : Facile, sert à supprimer une information ;)

Mais à quoi sert de récupérer une page sans signalisation adéquate ? Voila les headers HTTP courants

Indiquer un succès - HTTP 2xx

  • HTTP 200 - OK : Sert à indiquer que la page à été servie sans aucune erreur.
  • HTTP 201 - Created : Sert à indiquer le succès de la requête POST, ressource crée avec succès
  • HTTP 202 - Accepted : Indique de la requête est correctement reçue par le serveur mais qu'elle n'est pas encore totalement traitée

Redirection - HTTP 3xx

  • HTTP 301 - Moved temporarly : Sert à indiquer que la page a changé d'URI.
  • HTTP 302 - Found : Sert à indiquer que la page a changé d'URI mais que l'URI utilisée est probablement encore valide.

Erreurs - HTTP 4xx

  • HTTP 400 - Bad Request : Le serveur n'as pas compris la requête reçue.
  • HTTP 401 - Unauthorized : Il faut être authentifié pour accéder à la page demandée.
  • HTTP 403 - Access Denied : L'accès est refusé à cette page, permissions insuffisantes.

Voilà ! Des questions ?