如果找不到请求的图像,我应该返回“500”还是“404”?

时间:2010-05-23 15:45:36

标签: http http-headers http-status-code-404

我使用其他人编写的代码,偶尔会让我感到困惑,在这些时候Stack Overflow会让我感到困惑。拜托,再次救我。

我们的网站允许用户上传图片,然后将其嵌入我们网站的文字中,如下所示:

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

我的问题是:

如果服务器返回“500”或“404”,标识符“p”不会将我们引向图像?

我原以为它应该是“404”,但那不是现在发生的事情。

4 个答案:

答案 0 :(得分:15)

500是完成请求时的错误。因此,如果请求处理正常且找不到文件,则应返回404。

答案 1 :(得分:3)

404将是(imho)更合适。 500表示服务器错误。 404表示找不到资源,这就是您所描述的内容。没有服务器错误,只是一个不正确的URL。

答案 2 :(得分:0)

如果用户输入了错误的脚本名称,则应该是501(或者可能是500)。如果他们输入了错误的图像标识符,那么它应该是404,因为根本没有相应的资源。

答案 3 :(得分:0)

未找到404文件显然是明显的决定。

或400,错误的请求,因为他们请求了一个不存在的标识符。