Это зависит, я полагаю.
Если photo.php?id=123
- это страница, показывающая фотографию с идентификатором 123, то да, она должна выбросить 404. 404 означает, что ресурс не был найден, когда онОжидалось, что он будет найден - это семантически правильно.
Тем не менее, есть вероятность, что ваше семантическое намерение для photo.php?id=123
состояло в том, чтобы это была страница , ищущая для фотографии сс идентификатором 123, тогда совершенно правильно вернуть 200 с сообщением о том, что результаты не возвращены.
В конечном счете, это не имеет большого значения.Я не очень хорошо знаком с тем, как коды ответов HTTP влияют на то, как поисковые системы индексируют вашу страницу, но я подозреваю, что 404 не будут индексироваться таким же образом.Вы, вероятно, не хотите, чтобы страница была проиндексирована, если там нечего отображать.
TL; DR Я бы выбросил 404.