Je suis curieux de savoir quel est le code d'état HTTP le plus approprié pour une page "élément n'existe pas".
Si la page elle-même n'existe pas, j'utiliserai évidemment 404. Cependant, une de mes pages a un userid
argument (c'est une page "modifier l'utilisateur") et au cas où aucun utilisateur avec l'ID utilisateur donné n'existe, j'affiche un page d'erreur, mais j'aimerais aussi envoyer un en-tête d'état 4xx (puisque "200 OK" ne convient pas vraiment).
Je suppose que 404 serait correct car il est "non trouvé" et non "fichier non trouvé", mais je me demande s'il existe un meilleur code pour ce cas.
la source
Un code de retour 404 signifie en fait «ressource non trouvée» et s'applique à toute entité pour laquelle une demande a été faite mais non satisfaite. Cela fonctionne donc aussi bien pour les pages, les sous-sections de pages et tout élément existant sur la page qui a une demande spécifique à rendre.
Donc, 404 est le bon code à utiliser dans ce scénario. Notez que cela ne s'applique pas au «serveur non trouvé», qui est une situation différente dans laquelle une demande a été émise mais n'a pas du tout de réponse, par opposition à une réponse mais sans la ressource demandée.
la source
404 est très bien. Définitions des codes d'état HTTP / 1.1 de RFC2616
la source
Cela dépend si userid est un identifiant de ressource ou un paramètre supplémentaire. Si c'est le cas, vous pouvez renvoyer 404 sinon vous pouvez renvoyer un autre code comme
400 (bad request) ‐ indicates a bad request
ou
412 (Precondition Failed) e.g. conflict by performing conditional update
Plus d'informations dans le livre gratuit InfoQ explore: REST .
la source