Рейтинг:0

Есть ли техническое требование для обслуживания ответов 404?

флаг cn

Есть ли техническое требование (например, RFC) для подачи ответа 404?

Или возникает какая-то другая проблема, если ненайденные запросы отбрасываются или ответы пусты?

флаг jp
Вы можете найти ответ/видео на https://security.stackexchange.com/a/150762/10843, которые имеют отношение к вашему второму вопросу.
Рейтинг:2
флаг jp

RFC 7230 Протокол передачи гипертекста (HTTP/1.1): синтаксис и маршрутизация сообщений (Отслеживание стандартов)

Раздел 2.1

...

Сервер отвечает на запрос клиента, отправляя один или несколько HTTP-запросов. ответные сообщения, каждое из которых начинается со строки состояния, включающей версия протокола, код успеха или ошибки и текстовая причина фраза...

Согласно этому RFC, вы не можете просто разорвать соединение или отправить пустой ответ.

djdomi avatar
флаг za
с условиями согласен, стандартный клиент сначала ждет статус а потом действует соответственно ответу имхо
Paul avatar
флаг cn
Прошу прощения, если я пересматриваю свой вопрос с этим комментарием, но то, на что я смотрю, - это очевидный мусор, выброшенный на сервер. Кажется, что все, что имеет заголовок Host, не соответствующий тому, что я обслуживаю, должно быть просто удалено, потому что анализ журналов показывает, что это 100% боты и, вероятно, связаны с древними назначениями IP-адреса, поэтому ответ 404 бессмыслен. В какой-то момент запрос должен считаться недействительным или даже враждебным, и 100 запросов в секунду, сгенерированный ботом 404 мусора, выглядят враждебно, по крайней мере, для меня, и я действительно предпочел бы отказаться от этого, но я предпочитаю следовать стандартам.
флаг jp
Вы можете ответить «400» на недопустимый заголовок «Host:» (раздел 5.4 RFC 7239). Вы можете оценить запросы ограничения и ответить «429». Если клиентский хост действительно враждебен и генерирует слишком много ошибок 4xx, вы можете заблокировать их на уровне IP (`fail2ban` и т. д.) и разорвать соединение (RFC 6585, раздел 7.2).
Рейтинг:2
флаг ru

HTTP-сервер должен отвечать ответным сообщением HTTP. Каждый HTTP-запрос возвращает код состояния, см. RFC 1945.

Коды 4xx/5xx — это просто коды ошибок, которые обычно отображаются пользователю.

Paul avatar
флаг cn
RFC 1945 носит информационный (но все же полезный) характер — знаете ли вы, рассматривается ли это в других документах?
Zac67 avatar
флаг ru
Что ж, этот RFC в значительной степени является фундаментом Интернета. Но вы также можете обратиться к RFC 2068, 7231, 7540, .... Нет, нигде нет «Интернет-стандарта», но это так.
Paul avatar
флаг cn
Я понимаю, что официального стандарта на самом деле нет, но есть разница в статусах RFC, для определения которой был создан [RFC 2026](https://datatracker.ietf.org/doc/html/rfc2026). RFC «Лучшая текущая практика» (даже не стандарт!).
Zac67 avatar
флаг ru
Я это понимаю, но (как ни странно) так обстоят дела.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.