Коди помилок http сервера | Black Ant - записки чорного SEOшніка


Всім привіт. Цей пост буде про помилки виникають при роботі http сервера. При створенні свого сайту, та й не тільки свого, їх важливо знати і розуміти. Коди помилок надсилаються веб-сервером браузеру користувача для визначення його подальшої поведінки. Коди web-сервера діляться на п'ять категорій.

Інформаційні (коди 100-199) - Повідомляє браузеру що його запит прийнятий і обробляється.
Запит браузера оброблений успішно, (коди 200-299) сервер відправив клієнту запитуваний документ.
Запит браузера змінений (коди 300-399) браузеру потрібно зробити деякі дії для задоволення зміненого запиту.
Проблеми при спробі виконати запит. (Коди 400-499)
Помилки сервера (коди 500-599).

Ось про двох останніх категоріях і піде мова, так як вони є основними проблемами при створенні сайтів і управлінні сервером.

помилка сервера 400 - Bad Request (Поганий запит) - Чи означає, що сервером в запиті клієнта виявлена синтаксична помилка.

помилка 401 Unauthorized (Не авторизований) - Цей код показує, що користувач послав запит не має необхідних прав і при повторному запиті із зазначенням даного URI користувач повинен надати ці права.

помилка 403 Forbidden (Заборонено) - Запит відхилений з тієї причини, що сервер не хоче (або не має можливості) відповідати клієнту. Можливі причини помилки:
1) Ви намагаєтеся запустити CGI-скрипт, розташований поза CGI-директорії (наприклад, в директорії документів сервера www). Можна запускати скрипти з www-директорії тільки якщо в ній є файл .htaccess (з точкою на початку) такого змісту: Options + ExecCGI
2) Можливо, ви намагаєтеся відкрити картинку або статичний HTML-файл, розташований в CGI-директорії. Цього робити не можна. Всі малюнки (а також інші файли, за виключенням скриптів) повинні знаходитися в www-директорії.
3) Якщо ви очікуєте отримати лістинг каталогу, але виводиться ця помилка, ймовірно, для даної директорії видача лістингу заборонена (наприклад, це CGI-папка). Для вирішення лістингу в потрібній директорії повинен знаходитися файл .htaccess такого змісту: Options + Indexes

помилка 404 Not Found (Не знайдено) - Документа за вказаною URL не існує. Можливо, такий файл видалений або ви помилилися при наборі URL в браузері або пройшли по невірної посиланням.

помилка 405 Method Not Allowed (Метод не застосуємо) - Цей код видається з заголовком Allow і показує, що метод, який використовується клієнтом, для даного URL не підтримується. Можливо, ви намагаєтеся відправити дані POST-форми на сторінку, яка не є скриптом (наприклад, на SHTML-сторінку). Перевірте шлях в атрибуті action тега, який ініціював даний запит. Перевірте також, чи не порожній цей атрибут (і чи не встановлено взагалі).

помилка 406 Not Acceptable (Не прийнятно) - Ресурс, вказаний клієнтом по даному URL, існує, але не в тому форматі, який необхідний клієнту. Якщо метод не була HEAD, то сервер повинен повернути список допустимих характеристик для даного ресурсу.

помилка 407 Proxy Authentication Required (Необхідна авторизація проксі) - Proxy-сервер повинен санкціонувати запит перед тим, як пересилати його. Використовується з заголовком Proxy-Authenticate. Механізм аналогічний ідентифікації на вихідному сервері.

помилка 408 Request Time-out (Час очікування минув) Час очікування сервером передачі від клієнта минув. Клієнт може повторити аналогічний попередньому запит в будь-який час.

Наприклад, така ситуація може виникнути при завантаженні на сервер об'ємного файлу методом POST або PUT. У якийсь момент передачі джерело даних перестав відповідати (наприклад, через пошкоджену компакт-диска або втрата зв'язку з іншим комп'ютером в локальній мережі). Поки клієнт нічого не передає, чекаючи від нього відповіді, з'єднання з сервером тримається. Через деякий час сервер може закрити з'єднання зі свого боку щоб дати можливість іншим клієнтам зробити запит.

Зрозуміло, ця відповідь не повертається коли клієнт примусово зупинив передачу по команді користувача або з'єднання перервалося з якихось інших причин, так як відповідь вже послати неможливо.

помилка 409 Conflict (Конфлікт) Даний запит конфліктує з іншим запитом або з конфігурацією сервера. Таке можливо, наприклад, коли два клієнта намагаються змінити ресурс за допомогою методу PUT. Інформацію про конфлікт слід повернути в інформаційній частині відповіді.

помилка 410 Gone (Вилучений) - Даний код показує, що викликана URL більше не існує і назавжди видалений з сервера.

помилка 411 Length Required (Необхідна довжина) - Сервер відмовляється приймати запит без певного Content-Length.

помилка 412 Precondition Failed (Умова «помилково») - Результат обчислення умови, заданого в запиті одним або декількома заголовками if, являє собою «брехня».

помилка 413 Request Entity Too Large (Розмір запиту занадто великий) - Сервер не буде обробляти запит, тому що його зміст занадто велике.

помилка 414 Request URL Too Long (Запитуваний URL занадто довгий) Сервер не буде обробляти запит, тому що його URL занадто довгий. Таку помилку можна спровокувати, наприклад, коли клієнт намагається передати довгі параметри через метод GET, а не POST.

помилка 415 Unsupported Media Type (Непідтримуваний тип даних) - Сервер не буде обробляти запит, тому що його тіло має непідтримуваний формат

помилка 416 Requested Range Not Satisfiable (Запитуваний діапазон не можна досягти) - Сервер повідомляє - форма запиту нездійсненна

помилка 417 Expectation Failed (Очікуване неприйнятне) - Сервер повідомляє, що час очікування минув.

помилка 500 Internal Server Error (Внутрішня помилка сервера) - При обробці запиту на сервері один з його компонентів (наприклад, CGI-програма) видав аварійний відмова або зіткнувся з помилкою конфігурації. Причиною цього можуть бути неправильні інструкції в файлі .htaccess, неправильні атрибути на CGI-скрипт (повинні бути 755). Так само, це може бути помилка в скрипті. Точну причину можна встановити, переглядаючи error.log.

помилка 501 Not Implemented (Не реалізовано) - Клієнт запросив виконання дії, яке сервер виконати не може.

помилка сервера 502 Bad Gateway (Поганий шлюз) - Сервер (або proxy-сервер) отримав неприпустимі відповіді іншого сервера (або proxy-сервера)

помилка сервера 503 Service Unavailable (Сервіс недоступний) - означає, що дана служба тимчасово недоступна, але в майбутньому доступ до неї буде відновлений. Якщо сервер знає, коли це станеться, може бути також видано заголовок Retry-After.

помилка сервера 504 Gateway Time-out (Шлюз не відповідає) - Ця відповідь схожий на помилку 408 (Request Time-out) , За винятком того, що шлюз або уповноважений сервер перевищив ліміт часу.

помилка сервера 505 HTTP Version not supported (Версія HTTP не підтримується) - Версія HTTP не підтримується даним сервером

Дополнительная информация

rss
Карта