# Помилки

## HTTP-коди для клієнтських помилок <a href="#display--heading" id="display--heading"></a>

При спробі відкрити сайт через веб-браузер на сервер хостингу відправляються HTTP-запити, на які клієнт отримує відповіді. Часом при завантаженні сайту на хостинг або під час його розробки виникають помилки.

Щоб дізнатися про результати виконання запитів використовуються спеціальні код. Всі коди можна розділити на 5 класів:

* з кодом 100-199 — інформаційні,
* з кодом 200-299 — успішні,
* з кодом 300-399 — перенаправлення,
* з кодом 400-499 — клієнтські помилки,
* з кодом 500-599 — серверні помилки.

У цій статті розглянемо клієнтські коди HTTP-відповідей. Тобто, такі відповіді виникають через помилки з боку людини або клієнтської програми, якою користується людина, опираючись на модель взаємодії клієнт-сервер.

<table data-header-hidden><thead><tr><th width="130.33333333333331"></th><th width="194"></th><th></th></tr></thead><tbody><tr><td><strong>Код відповіді</strong><br></td><td><strong>Назва</strong></td><td><strong>Опис</strong></td></tr><tr><td>400<br></td><td>Bad Request<br></td><td>Відповідь означає, що сервер не розуміє запиту через невірний синтаксис<br></td></tr><tr><td>401<br></td><td>Unauthorized<br></td><td>Для отримання запитуваної відповіді потрібна аутентифікація. Статус схожий на статус 403, але в цьому випадку, аутентифікація можлива<br></td></tr><tr><td>402<br></td><td>Payment Required<br></td><td>Цей код відповіді зарезервований для майбутнього використання. Початкова мета його створення — використання для цифрових платіжних систем (на даний момент не використовується)<br></td></tr><tr><td>403<br></td><td>Forbidden<br></td><td>У клієнта немає прав доступу до вмісту, тому сервер відмовляється дати належну відповідь<br></td></tr><tr><td>404<br></td><td>Not Found<br></td><td>Сервер не може знайти запитуваний ресурс<br></td></tr><tr><td>405<br></td><td>Method Not Allowed<br></td><td>Сервер знає про запитуваний метод, але він був деактивований і не може бути використаний. Два обов'язкових методу: GET і HEAD, ніколи не повинні бути деактивовані і не повинні повертати цей код помилки<br></td></tr><tr><td>406<br></td><td>Not Acceptable<br></td><td>Ця відповідь повертається, коли веб-сервер після виконання server-driven content negotiation (угодження, що керується сервером), не знайшов контенту, що відповідає критеріям, отриманим разом з рядком "user agent"<br></td></tr><tr><td>407<br></td><td>Proxy Authentication Required<br></td><td>Цей код відповіді аналогічний до коду 401, тільки аутентифікація для проксі-сервера вже потрібна<br></td></tr><tr><td>408<br></td><td>Request Timeout<br></td><td>Відповідь з таким кодом може прийти навіть без попереднього запиту. Він означає, що сервер хотів би відключити з'єднання, що не використовується<br></td></tr><tr><td>409<br></td><td>Conflict<br></td><td>Ця відповідь відсилається, коли запит конфліктує з поточним станом сервера<br></td></tr><tr><td>410<br></td><td>Gone<br></td><td>Ця відповідь відсилається, коли запитуваний контент видалений з сервера<br></td></tr><tr><td>411<br></td><td>Length Required<br></td><td>Запит відхилений, тому що сервер вимагає зазначення заголовка Content-Length, але він не вказаний<br></td></tr><tr><td>412<br></td><td>Precondition Failed<br></td><td>Клієнт вказав в своїх заголовках умови, які сервер не може виконати<br></td></tr><tr><td>413<br></td><td>Request Entity Too Large<br></td><td>Розмір запиту перевищує ліміт, оголошений сервером. Сервер може закрити з'єднання, повернувши заголовок "Retry-After"<br></td></tr><tr><td>414<br></td><td>Request-URI Too Long<br></td><td>URI, запитуваний клієнтом, занадто довгий для того, щоб сервер зміг його обробити<br></td></tr><tr><td>415<br></td><td>Unsupported Media Type<br></td><td>Медіа формат запитуваних даних не підтримується сервером, тому запит відхилений<br></td></tr><tr><td>416<br></td><td>Requested Range Not Satisfiable<br></td><td>Діапазон вказаний заголовком запиту "Range" не може бути здійснений; можливо, він виходить за межі переданого URI<br></td></tr><tr><td>417<br></td><td>Expectation Failed<br></td><td>Цей код відповіді означає, що очікування, отримане з заголовка запиту "Expect", не може бути виконано сервером<br></td></tr></tbody></table>

HTTP-коди для серверних помилок\
\



<table data-header-hidden><thead><tr><th width="120.33333333333331"></th><th width="195"></th><th></th></tr></thead><tbody><tr><td><strong>Код відповіді</strong></td><td><strong>Назва</strong></td><td><strong>Опис</strong></td></tr><tr><td>500</td><td>Internal Server Error<br></td><td>Сервер зіткнувся з ситуацією, яку він не знає як обробити. Найчастіше це відбувається, якщо не вдається підключитися до бази даних або не можуть виконатися коректно скрипти на сайті<br></td></tr><tr><td>501</td><td>Not Implemented<br></td><td>Метод запиту не підтримується сервером і не може бути опрацьований. Єдині методи, які сервери повинен підтримувати - GET і HEAD.<br></td></tr><tr><td>502</td><td>Bad Gateway<br></td><td>Ця помилка означає, що сервер (під час роботи в якості шлюзу) для отримання відповіді, потрібної для обробки запиту, отримав недійсну (неприпустиму) відповідь<br></td></tr><tr><td>503</td><td>Service Unavailable<br></td><td>Сервер не готовий обробляти запит. Причин для такої помилки досить багато: доступ до сервера з вашого IP обмежується, існують обмеження з боку Інтернет-провайдера, серевер перевантажений або вимкнений<br></td></tr><tr><td>504</td><td>Gateway Timeout<br></td><td>Така відповідь про помилку надається, коли сервер діє як шлюз і не може отримати відповідь вчасно<br></td></tr><tr><td>505</td><td>HTTP Version Not Supported<br></td><td>HTTP-версія, яка використовується в запиті, не підтримується сервером<br></td></tr></tbody></table>

\
