- Коды ответа HTTP
- Found a content problem with this page?
- Коды ошибок html. Ошибки и причины их возникновения
- Возможные ошибки при первичном размещении сайта
- ошибка 403 “Доступ запрещен” – как устранить причины
- обработка ошибки 404 “Файл не найден”
- ошибка 500 “Internal Server Error”
- Рекомендации по созданию страницы ошибки 404
Коды ответа HTTP
Код ответа (состояния) HTTP показывает, был ли успешно выполнен определённый HTTP запрос. Коды сгруппированы в 5 классов:
- Информационные 100 — 199
- Успешные 200 — 299
- Перенаправления 300 — 399
- Клиентские ошибки 400 — 499
- Серверные ошибки 500 — 599
Коды состояния определены в 10-ой секции RFC 2616. Обновленную спецификацию можно найти в RFC 7231 .
Если вы получили код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.
Следующая таблица содержит список всех кодов и их значения:
- GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле ответа.
- HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
- POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа.
- TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного сервером.
«Множественный выбор». Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.
«Перемещён на постоянной основе». Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе.
«Найдено». Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах.
«Перенаправление на постоянной основе». Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response. Данный код ответа имеет ту же семантику, что и код ответа 301 Moved Permanently , за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе.
Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде.
Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.
Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
Запрос отклонён, потому что сервер требует указание заголовка Content-Length , но он не указан.
Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок Retry-After
Found a content problem with this page?
This page was last modified on 29 янв. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Коды ошибок html. Ошибки и причины их возникновения
Наверняка многие из вас сталкивались с ситуацией, когда браузер отказывается загружать определенную страницу в Интернете, выводя вместо нее сообщение о некоей «Ошибке 404». Реакцию пользователей на такое сообщение можно охарактеризовать по-разному: к нему относятся отрицательно или равнодушно, его боятся или попросту игнорируют. Между тем далеко не каждый знает о том, что в честь этой ошибки создаются целые Интернет-проекты и каталоги ресурсов, проводятся конкурсы и созтязания.
Ошибками в протоколе HTTP называется такое поведение веб-сервера, когда он по какой-то причине не может успешно отправить клиенту запрашиваемый документ. Сервер сообщает клиенту в HTTP-заголовке код ошибки, который на стороне клиента так или иначе интерпретируется браузером.
Каждая ошибка, выдаваемая веб-сервером, имеет код соответствующий классу возникшей ошибки. Коды ошибок (например 403 или 404) стандартизованы и подробно описаны в интернет-стандарте RFC2616 (Hypertext Transfer Protocol — HTTP/1.1). Вы можете обращаться к этому документу за подробным описанием конкретной ошибки как в первоисточнику.
Коды ошибок бывают положительными и отрицательными или успешными и неуспешными. Есть четыре типа кодов:
2xx – запрос выполнен успешно – сервер успешно отправил клиенту запрашиваемый документ
3xx – запрос успешно перенаправлен – тоже положительный код. Он говорит о том, что запрос клиента был перенаправлен. Используется при работе с кэширующими серверами, а также в алгоритме, когда браузер клиента проверяет актуальность документа на сервере (дату создания, размер и так далее)
4xx – ошибка – документ не был отправлен клиенту, так как произошла критическая ошибка. Например, запрошенный документ не найден на сервере, доступ к документу запрещен и так далее и сайт не будет открываться или будет ошибка 404.
5xx – ошибка сервера – критическая ошибка на сервере. Например, на сервере не смог нормально отработать скрипт пользователя
Возможные ошибки при первичном размещении сайта
Вы разместили сайт на хостинге компании yutex, загрузили файлы и получили ошибку 403 при попытке открыть сайт через браузер. Эта ошибка возникает в случае если вы назвали индексный файл, который должен показываться при обращении к каталогу, неправильно. Индексный файл может иметь названия index.html, index.htm, index.php, index.phtml, index.shtml, default.htm или default.html. В Unix-системах регистр букв в названиях файлов имеет значение.
ошибка 403 “Доступ запрещен” – как устранить причины
Данная ошибка возникает когда сервер не смог обработать запрос по причине того, что доступ к файлу был запрещен. Наиболее часто это возникает в трех случаях:
— в каталоге нет индексного файла (index.html, например) и при этом запрещен просмотр списка файлов в данном каталоге* или на всем виртуальном сервере. Можно попробовать создать файл с именем index.html и посмотреть не исчезнет ли ошибка.
— выставлены такие “права” доступа на файл, что веб-сервер Apache не смог прочитать файл на диске сервера. Попробуйте изменить права доступа на 640, например.
— пользователь попытался обратиться к скрипту (в каталоге cgi-bin), на который выставлены неправильные права – нет права на чтение+исполнение (r+x) конкретного скрипта. Измените права на 755.
По умолчанию просмотр списка файлов в каталоге запрещен. Для того, чтобы разрешить вывод списка файлов необходимо создать файл .htaccess, в котором прописать директиву Options +Indexes в виде отдельной строки.
обработка ошибки 404 “Файл не найден”
Прежде всего давайте разберемся, что такое “Ошибка 404” и в каких случаях она возникает. С технической точки зрения, “Ошибка 404” (или Error 404) – это кодовый заголовок статуса протокола HTTP (HyperText Transfer Protocol), который, как известно, является чем-то вроде основы взаимодействия удаленных компьютеров всемирной сети. При обращении браузера к веб-серверу, последний посылает кодовый статус запрашиваемого документа. При корректной обработке этого запроса статус идентичен коду “200 OK”. Однако, пользователь не может видеть подобного сообщения по причине отображения содержания запрошенного веб-сайта в своем браузере. В случае если запрос документа браузером обработан с ошибками, пользователь наблюдает сообщение, имеющее статус “404: Not Found”.
Что же означают эти загадочные цифры – 404? Первая цифра 4 указывает на ошибку программы-клиента, т.е. браузера. В этом случае предполагается, что URL сайта был набран неверно в адресной строке браузера или больше не существует физически на запрошенном сервере. Цифра 0 означает общую ошибку синтаксиса протокола. Наконец, последняя четверка относится к отдельной категории ошибок 40х, которая также включает такие распространенные статусы, как “400: Bad Request” и “401: Unauthorized”.
Ошибка 404 (Файл не найден) возникает когда пользователь запрашивает у веб-сервера документ, которого нет на диске. То есть, когда пользователь запрашивает несуществующий файл. Это наиболее “популярная” из всех ошибок. Вы можете наблюдать возникновение таких ошибок в файле error_log и учитывать это – отслеживать какие документы на сервере “не найдены” и корректировать неправильные ссылки из своих html-документов. Также ссылки на несуществующие документы могут вести с других сайтов.
Для удобства посетителей сайта можно обрабатывать ошибки 404 заменяя стандартные ответы веб-сервера на свои страницы с “человеческим” описанием причины возникновения ошибки и советами что делать в этом случае. Также полезно разместить на такой странице карту вашего сайта или ссылку на поисковую систему.
Как обрабатывать ошибку 404. Создайте в каталоге public_html файл .htaccess и поместите в него следующую инструкцию для веб-сервера Apache:
ErrorDocument 404 /404.html
Затем создайте файл 404.html, в который поместите описание возникшей ошибки и советы о том что “что делать” в этом случае посетителю вашего сайта. Теперь пользователь, который наберет в своем браузере адрес несуществующей страницы, будет автоматически перенаправлен сервером на файл 404.html.
С помощью директивы ErrorDocument можно обрабатывать не только ошибку 404, но и практически все другие ошибки. Например, можно обработать так и ошибку 403, которая упоминается в этом документе выше. О файле .htaccess и его практическом использовании можно почитать тут.
ошибка 500 “Internal Server Error”
Ошибка 500 “Internal Server Error” возникает в случае невозможности запуска скрипта, который вы разместили на сервере, в случае ошибок в скрипте, а также в случае когда вы поместили неправильную инструкцию в файл .htaccess. Этот список причин возникновения ошибки 500 не конечный, есть еще масса причин, по которым может возникнуть ошибка 500. Однако, упомянутые три случая встречаются наиболее часто.
Рассмотрим сначала случай, когда вы поместили некорректную инструкцию в файл .htaccess. Если вы ошиблись в написании названия нужной директивы или параметров к ней.
Веб-сервер укажет вам какую конкретно директиву он посчитал ошибочной – ее нужно будет исправить. В данном случае веб-сервер сообщил что директивы DrectoryIndex он не знает. И действительно – нет директивы DrectoryIndex, есть DirectoryIndex. Имеет место опечатка.
Если ошибка 500 возникает при обращении к скрипту на языке Perl, размещенному в каталоге cgi-bin, нужно проверить права доступа на этот скрипт. Права должны быть 755 (rwxrx-rx). Если это не так, нужно изменить права на 755 командой chmod 755 script.pl в unix shell или воспользоваться для этого FTP. Нужно отдельно отметить – права на скрипты должны быть установлены строго в 755.
Пожалуйста, проверьте правильный ли режим передачи файлов по FTP вы использовали при загрузке скрипта на наш сервер. Все скрипты, равно как и любые другие текстовые файлы, должны передаваться по FTP в текстовом (ASCII) режиме. Если же был использован двоичный (Binary) режим передачи файлов, скрипты наверняка работать не будут.
Если после проверки корректности установленных прав на файл скрипта ошибка не исчезла, нужно изучить последние записи в файле error.log – в него веб-сервер помещает все сообщения об ошибках.
Первое, что нужно сделать если вы получили такую ошибку, это проверить правильно ли скрипт выдает HTTP-заголовки. Каждый скрипт должен сначала печатать строку с указанием соответствующего Content-type и только потом непосредственно то, что увидит пользователь.
Рекомендации по созданию страницы ошибки 404
—–Используйте как можно меньше сложных терминологических выражений и специфических, непонятных простому пользователю формулировок. Излагайте суть ситуации просто и понятно.
—–Успокаивайте пользователя и всегда укрепляйте его веру в то, что искомый документ обязательно найдется на вашем сервере.
—–Приводите возможные причины возникновения ошибки (технические рассуждения смело заменяйте на предположение о неверном написании URL и т.п.).
—–Всегда указывайте ссылки, ведущие на какой-либо из доступных разделов сайта (первая страница, карта сайта и пр.).
—–Включайте основную навигацию в структуру сообщения об ошибке 404: так пользователю будет проще сориентироваться на вашем сервере.
—–Указывайте свои координаты для связи.
—–По возможности, разместите на странице с сообщением об ошибке форму поиска по сайту.
—–Избегайте тяжеловесных, перегруженных графикой, заполненных Flash-анимацией и Java-апплетами страниц с сообщением о “404: Not Found”. Эта страница должна грузиться в считанные секунды.
—–Постарайтесь, чтобы оформление страницы 404 не сильно отличалось от общего дизайна вашего сайта.