web-dev-qa-db-fra.com

Un corps de réponse est-il autorisé pour une demande HTTP-DELETE?

Je suppose que le code de réponse 200 permet toujours un corps de réponse, mais je ne trouve aucune mention explicite de corps de réponse pour les demandes DELETE.

75
scrrr

Il est explicitement mentionné ici dans le RFC

La réponse courte est:

Vous devez inclure un corps de réponse avec une entité décrivant l'élément/ressource supprimé si vous retournez 200 .

202 est quelque chose comme un état de retour de demande/réponse asynchrone.

204 dit explicitement que vous n'incluez pas de corps de réponse

127
fyr

Oui, vous devez généralement répondre avec un code de réponse 200 selon la spécification W3C :

9.7 SUPPRIMER

La méthode DELETE demande au serveur d'origine de supprimer la ressource identifiée par l'URI de demande. Cette méthode PEUT être remplacée par une intervention humaine (ou tout autre moyen) sur le serveur Origin. Le client ne peut pas garantir que l'opération a été effectuée, même si le code d'état renvoyé par le serveur d'origine indique que l'action s'est terminée avec succès. Cependant, le serveur NE DEVRAIT PAS indiquer de succès sauf si, au moment où la réponse est donnée, il a l'intention de supprimer la ressource ou de la déplacer vers un emplacement inaccessible.

Une réponse réussie DEVRAIT être 200 (OK) si la réponse comprend une entité décrivant le statut, 202 (Accepté) si l'action n'a pas encore été exécutée, ou 204 (Pas de contenu) si l'action a été exécutée mais la réponse ne comprend pas une entité.

Si la demande passe par un cache et que l'URI de demande identifie une ou plusieurs entités actuellement mises en cache, ces entrées DEVRAIENT être traitées comme périmées. Les réponses à cette méthode ne peuvent pas être mises en cache.

15
Brian Scott