2010-05-23 7 views
3

Je travaille avec du code écrit par d'autres personnes, parfois je suis un peu confus et à ce moment Stack Overflow me sauve. S'il vous plait, sauvez moi encore.Dois-je retourner "500" ou "404" si une image demandée n'est pas trouvée?

Notre site permet aux gens de télécharger des images et ensuite les intégrer dans le texte sur notre site comme ceci:

<img src="http://site.com/image_script.php?p=some_image_identifier"/> 

Ma question est:

Si l'identifiant, « p », ne nous conduit pas à une image doit le serveur retourner "500" ou "404"?

J'aurais pensé qu'il devrait être "404", mais ce n'est pas ce qui se passe en ce moment.

+0

Erreur client ou erreur de serveur? Utilisez 4xx ou 5xx –

+1

Il devrait être 404. On dirait que vous avez un problème avec votre code. – User

Répondre

14

500 est une erreur dans l'exécution de la demande. Donc, si la demande est traitée correctement et que le fichier est introuvable, vous devez renvoyer un 404.

+0

Merci de prouver que je ne suis ni un imbécile ni fou. –

+0

Nous faisons de notre mieux :) –

3

404 serait (imho) plus approprié. 500 indique une erreur de serveur. 404 indique que la ressource n'est pas trouvée, ce que vous décrivez. Il n'y a pas d'erreur de serveur, juste une URL incorrecte.

0

Si l'utilisateur saisit un nom de script incorrect, il doit être 501 (ou peut-être 500). Si elles entrent le mauvais identifiant d'image, il devrait être 404 puisqu'il n'y a simplement aucune ressource correspondante.

0

404 fichier introuvable est clairement la décision évidente.

Ou 400, mauvaise requête car ils ont demandé un identifiant qui n'existait pas.