Должен ли я вернуть «500» или «404», если запрошенное изображение не найдено? - PullRequest
3 голосов
/ 23 мая 2010

Я работаю с кодом, написанным другими людьми, иногда я несколько растерялся, и в это время переполнение стека спасает меня. Пожалуйста, спаси меня снова.

Наш сайт позволяет людям загружать изображения, а затем вставлять их в текст на нашем сайте следующим образом:

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

Мой вопрос:

Если идентификатор «p» не приводит нас к изображению, должен ли сервер возвращать «500» или «404»?

Я бы подумал, что это должно быть "404", но сейчас это не то, что происходит.

Ответы [ 4 ]

15 голосов
/ 23 мая 2010

500 - ошибка при выполнении запроса. Так что если запрос обработан нормально и файл не найден, вы должны вернуть 404.

3 голосов
/ 23 мая 2010

404 было бы (imho) более подходящим. 500 указывает на ошибку сервера. 404 указывает, что ресурс не найден, что вы и описываете. Нет ошибки сервера, просто неверный URL.

0 голосов
/ 04 февраля 2011

404 файл не найден, это очевидное решение.

Или 400 - неправильный запрос, потому что они запросили несуществующий идентификатор.

0 голосов
/ 23 мая 2010

Если пользователь вводит неверное имя скрипта, оно должно быть 501 (или, возможно, 500). Если они вводят неправильный идентификатор изображения, это должно быть 404. Поскольку соответствующего ресурса просто нет.

...