Вопрос

Я создаю простой HTTP-сервер для проекта.Большинство веб-сайтов имеют пользовательские страницы ошибок 404.Иногда, однако, вы увидите, что Firefox выдает общую страницу 404 (или 405 и т.д.).Как он решает, что делать?Каким должен быть HTTP-ответ?Достаточно ли "HTTP /1.0 404 НЕ НАЙДЕН"?

Спасибо

Это было полезно?

Решение

Таким образом, Firefox в большинстве случаев не будет показывать общую страницу с ошибкой 404;вы имеете в виду Internet Explorer, который игнорирует страницу 404 веб-сайта, если она меньше определенного размера, и отображает свою собственную.

Другие советы

Если сервер не может найти запрошенный ресурс (например,веб-страница), он отправляет HTTP /1.0 404 НЕ НАЙДЕН в разделе HTTP-заголовка.

Серверы могут отображать страница с ошибкой для этой ошибки, так что вы можете получить читаемую страницу с ошибкой. Браузеры также могут отображать собственная страница ошибок, так что вы можете увидеть сообщение об ошибке 404, относящееся к конкретному браузеру.

Вы можете увидеть код ошибки в поле состояния в файлах журнала.

Ты можешь перенаправление вашего пользователя на конкретную страницу с такой структурой:

<HTML>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="5; URL=not404.htm">
</head>
</HTML>

Смотрите подробности на Добро пожаловать на страницу 404 ошибок .com

Вполне допустимо возвращать html-текст с кодом ответа 404.Если текстовое сообщение не указано, то браузер покажет страницу по умолчанию.

  1. Если вы только отправите HTTP /1.0 404 НЕ НАЙДЕН затем будет отображен браузер по умолчанию.
  2. Если вы добавите текст к ответу, браузер в основном будет использовать его.

Если вы создаете HTTP-сервер, возможно, вам захочется взглянуть на RFC, описывающий протокол: http://www.faqs.org/rfcs/rfc2616.html

Для кода состояния 404 он гласит:

Сервер ничего не нашел соответствующий URI запроса.НЕТ
указаны ли состояние временным или
постоянный.Код состояния 410 (Пропал) СЛЕДУЕТ использовать, если сервер знает, с помощью некоторого внутренне настраиваемого механизма, что старый ресурс постоянно недоступен и не имеет адреса пересылки.Этот код статуса обычно используется, когда сервер не желает раскрывать точную причину запрос был отклонен, или когда другой ответ не применим.

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

Тем не менее, вы можете извлечь выгоду из использования одного из существующих HTTP-серверов.Посмотри на это вопрос о том, как создать HTTP-сервер на C или C ++, было опубликовано несколько дней назад,

Обычно он настраивается на веб-сервере, т.е.:Когда сервер получит 404, отправьте его на эту страницу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top