Код статуса класса 4xx предназначен для случаев, когда клиент, похоже, допустил ошибку.За исключением случаев ответа на запрос HEAD, сервер ДОЛЖЕН включать представление, содержащее объяснение ситуации ошибки, а также является ли это временным или постоянным условием.Эти коды состояния применимы к любому методу запроса.Пользовательские агенты ДОЛЖНЫ отображать любое включенное представление пользователю.
Это оставляет мне два возможных объяснения:
Объяснение 1: ошибка сервера.
сервер ошибочно возвращает код состояния 404, браузер считает, что тело ответа содержит сведения об ошибке и отображает ее - для конечного пользователя это фактическая страница
Объяснение 2: это сделаноспециально для того, чтобы победить сканеры и средства просмотра страниц.
сервер возвращает 404 специально - пользовательские агенты, не являющиеся браузерами, не будут обрабатывать результат, поскольку они интерпретируют его как браузеры ошибок, не затрагиваемые, конечный пользователь нене волнует, пока страница отображается Второй вариант действительно будет довольно умен, если вы не хотите, чтобы ваша страница была проиндексирована.