views:

92

answers:

3

I work with code written by other people, occasionally I am left somewhat confused and at these times Stack Overflow saves me. Please, save me again.

Our site allows people to upload images and later embed them within text in our site like so:

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

My question is:

If the identifier, "p", does not lead us to an image should the server return "500" or "404"?

I would have thought it should be "404", but that's not what is happening right now.

+3  A: 

404 would be (imho) more appropriate. 500 indicates a server error. 404 indicates the resource isn't found, which is what you're describing. There is no server error, just an incorrect URL.

cletus
+10  A: 

500 is an error in fulfilling the request. So if the request processed fine and the file is not found, you should return a 404.

Ólafur Waage
Thanks for proving I'm neither a moron nor insane.
Michael Robinson
We try our best :)
Ólafur Waage
A: 

If the user enters the wrong script name, it should be 501 (or maybe 500). If they enter the wrong image identifier, it should be 404 since there is simply no corresponding resource.

tvanfosson