понедельник, 29 октября 2018 г.


Ложная ошибка 404 происходит, когда вместо веб-страницы посетитель видит сообщение, что ее не существует, но при этом браузер получает код 2xx (успешно).


Ошибка 404 выдается сервером при запросе несуществующей страницы вебсайта. При этом, по умолчанию, сервер выдает (браузеру) некую стандартную страницу соответствующего хостинга.

Ложная ошибка 404 – это ситуация, когда на сервер поступает неверный запрос, он выдает клиенту (браузеру) также ошибочную страницу, но при этом код состояния сервер возвращает не 404, а 200 ОК.

Для того, чтобы при любом неверном запросе сайт (сервер) отдавал страницу ошибки (например, 404.html), необходимо сделать соответствующие настройки.

В файле .htaccess, находящемся в корневом каталоге сайта, следует прописать так называемый редирект 404:

ErrorDocument 404 Адрес страницы ошибки

При этом адрес может быть как абсолютным (с указанием протокола и домена хостинга), так и относительным. Работать будут оба. Однако, между ними есть определенная разница. Если указывать абсолютный редирект (т.е. ErrorDocument 404 http://site.ru/404.html), то сервер будет считать, что редирект происходит на ДРУГОЙ домен. Несмотря на то, что домен-то, приписанный в редиректе, может быть тем же самым.

При этом, вместо ошибки 404, сервер выдаст код состояния 200 ОК и отдаст браузеру страницу 404.html (на которой так или иначе будет указано, что страница, соответствующая запросу, не существует). Это будет выглядеть так, как будто бы вместо неверного запроса клиент (например, браузер) запросил конкретно эту страницу САМ. При всей нелогичности (для случая одного и того же домена), это – так.

Это и есть ложная ошибка 404.

Если же редирект относительный (ErrorDocument 404 /404.html), то тогда поведение сервера может быть немного иным. В адресной строке будет присутствовать соответствующий неверный запрос (т.е. ошибочный URL, на сервере нет страницы, соответствующей ему), а в окне браузера отобразится содержимое страницы ошибки, т.е. страницы 404.html.

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


Источник - dissertacii-diplom-ufa.ru

0 коммент.:

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