Довідник кодів стану HTTP — безкоштовно
Пошуковий довідник для всіх кодів стану HTTP — що означає кожен, коли використовується та поширені причини. Від 100 до 511.
61 статус-код
100Продовжити
Сервер отримав заголовки запиту, клієнт повинен продовжити з тілом.
Продовжити
Сервер отримав заголовки запиту, клієнт повинен продовжити з тілом.
Використовується для запитів з Expect: 100-continue. Сервер підтверджує, що готовий отримати тіло до того, як клієнт його надішле. Рідко зустрічається в сучасних веб-додатках.
101Перемикання протоколів
Сервер перемикає протоколи на запит клієнта.
Перемикання протоколів
Сервер перемикає протоколи на запит клієнта.
Найчастіше використовується для оновлення WebSocket — клієнт запитує Upgrade: websocket, а сервер відповідає 101 для перемикання.
102Обробка
Сервер отримав запит і обробляє його, але відповідь поки недоступна.
Обробка
Сервер отримав запит і обробляє його, але відповідь поки недоступна.
Проміжна відповідь WebDAV, що надсилається, щоб запобігти вичерпанню часу очікування клієнта під час тривалих операцій. Застаріло — сучасні сервери не повинні її надсилати.
103Ранні підказки
Попередні заголовки надіслані перед остаточною відповіддю.
Ранні підказки
Попередні заголовки надіслані перед остаточною відповіддю.
Дозволяє серверам надсилати заголовки Link (preload/preconnect) доки остаточна відповідь ще готується, щоб браузери могли починати завантажувати критичні ресурси раніше.
200OK
Запит успішно виконаний.
OK
Запит успішно виконаний.
Стандартна відповідь про успіх. Значення залежить від методу HTTP: GET → ресурс повернено, POST/PUT → дію завершено.
201Створено
Новий ресурс успішно створено.
Створено
Новий ресурс успішно створено.
Поширено після POST. Відповідь повинна включати заголовок Location, що вказує на URL нового ресурсу.
202Прийнято
Запит прийнято на обробку, але обробка не завершена.
Прийнято
Запит прийнято на обробку, але обробка не завершена.
Для асинхронних операцій — сервер ставить роботу в чергу. Клієнт повинен опитати точку статусу або повернутися пізніше.
203Неавторитетна інформація
Відповідь була змінена трансформуючим проксі.
Неавторитетна інформація
Відповідь була змінена трансформуючим проксі.
Запит виконано успішно, але посередник (наприклад, кешувальний або перетворювальний проксі) змінив корисне навантаження, отримане від початкового сервера, — наприклад, повторно стиснув зображення. На практиці трапляється рідко.
204Немає вмісту
Запит успішно виконаний, але немає тіла відповіді.
Немає вмісту
Запит успішно виконаний, але немає тіла відповіді.
Часто використовується для операцій DELETE або оновлень PUT, які не потребують повернення тіла. Клієнт не повинен залишати поточну сторінку.
205Скинути вміст
Запит успішно виконаний; клієнт повинен скинути вид документа.
Скинути вміст
Запит успішно виконаний; клієнт повинен скинути вид документа.
Як і 204, тіло не повертається, але клієнту додатково вказується скинути форму або представлення, що ініціювало запит (наприклад, очистити поля форми для наступного запису).
206Частковий вміст
Сервер доставив лише частину ресурсу.
Частковий вміст
Сервер доставив лише частину ресурсу.
Відповідь на запит Range. Використовується програвачами відео та менеджерами завантажень для відновлення перерваних завантажень або потокового передавання великих файлів.
207Множинний статус
Тіло відповіді містить кілька кодів статусу для кількох операцій.
Множинний статус
Тіло відповіді містить кілька кодів статусу для кількох операцій.
WebDAV: тіло XML незалежно повідомляє результат кількох субоперацій — наприклад, пакетного переміщення, де одні елементи оброблено успішно, а інші — ні.
208Вже повідомлено
Члени колекції вже були перераховані раніше у відповіді.
Вже повідомлено
Члени колекції вже були перераховані раніше у відповіді.
WebDAV: використовується у відповідях 207 Multi-Status, щоб уникнути повторного переліку елементів тієї самої колекції, коли прив’язки створюють цикли.
226Використано IM
Відповідь є результатом маніпуляцій екземпляра, застосованих до ресурсу.
Використано IM
Відповідь є результатом маніпуляцій екземпляра, застосованих до ресурсу.
Дельта-кодування: сервер повертає різницю від попередньої версії замість повного ресурсу, економлячи смугу пропускання. Дуже рідко реалізовано.
300Кілька варіантів
Кілька представлень ресурсу доступні.
Кілька варіантів
Кілька представлень ресурсу доступні.
Сервер пропонує кілька варіантів (наприклад, різні формати або мови), і клієнт повинен вибрати один. Рідко використовується, оскільки автоматичне узгодження змісту зазвичай вирішує це саме.
301Постійно перенесено
Ресурс назавжди перенесено на новий URL.
Постійно перенесено
Ресурс назавжди перенесено на новий URL.
Використовується для постійних змін URL — пошукові системи оновлять свій індекс. SEO-авторитет переходить на новий URL.
302Знайдено (тимчасове перенаправлення)
Ресурс тимчасово розташований на іншому URL.
Знайдено (тимчасове перенаправлення)
Ресурс тимчасово розташований на іншому URL.
Вказує, що перенаправлення не постійне. Кешування менш агресивне, ніж 301. Використовується для дій на кшталт «потрібна авторизація, перенаправляю на /login».
303Дивіться інший ресурс
Перенаправлення на інший URL за допомогою GET.
Дивіться інший ресурс
Перенаправлення на інший URL за допомогою GET.
Використовується після надсилання POST — відповідь означає «ваш POST спрацював, результат дивіться за цим URL через GET». Браузери завжди роблять GET на новий URL.
304Не змінено
Кешована версія все ще дійсна; використовуйте її.
Не змінено
Кешована версія все ще дійсна; використовуйте її.
Відповідь на умовний запит (з заголовками If-None-Match або If-Modified-Since). Економить смугу пропускання — тіло не повертається.
307Тимчасове перенаправлення
Як 302, але зберігає оригінальний HTTP метод.
Тимчасове перенаправлення
Як 302, але зберігає оригінальний HTTP метод.
Якщо оригіналом був POST, перенаправлення також використовує POST. Сучасна альтернатива 302, коли збереження методу важливо.
308Постійне перенаправлення
Як 301, але зберігає оригінальний HTTP метод.
Постійне перенаправлення
Як 301, але зберігає оригінальний HTTP метод.
Сучасна заміна 301, коли ви хочете, щоб запити POST залишалися POST після перенаправлення.
400Неправильний запит
Сервер не міг розібрати запит через неправильний синтаксис.
Неправильний запит
Сервер не міг розібрати запит через неправильний синтаксис.
Поширені причини: неправильно сформований JSON у тілі, недійсні параметри запиту або відсутні обов'язкові поля. Перевірте тіло та заголовки запиту.
401Неавторизовано
Потрібна аутентифікація, яка не надана.
Неавторизовано
Потрібна аутентифікація, яка не надана.
Клієнт повинен включити облікові дані аутентифікації (заголовок Authorization, файл cookie, токен). «Unauthorized» є неправильним — це означає «неавтентифікований».
402Платіж потрібен
Зарезервовано для майбутнього використання — іноді використовується для платних рівнів API.
Платіж потрібен
Зарезервовано для майбутнього використання — іноді використовується для платних рівнів API.
Спочатку призначено для цифрових платежів. Сучасне використання: API іноді повертають 402, коли користувач перевищив свою платну квоту.
403Заборонено
Клієнт аутентифікований, але не має дозволу.
Заборонено
Клієнт аутентифікований, але не має дозволу.
Відрізняється від 401 — користувач УВІЙШОВ у систему, але його обліковий запис не має дозволу для цього ресурсу. Перевірте логіку ролей/дозволів.
404Не знайдено
Запрошений ресурс не існує.
Не знайдено
Запрошений ресурс не існує.
Або URL невірний, або ресурс видалено, або його ніколи не було. Сервери іноді повертають 404, щоб приховати, що 403 був би точніший.
405Метод не дозволений
HTTP метод, який використовується, не дозволений для цього ресурсу.
Метод не дозволений
HTTP метод, який використовується, не дозволений для цього ресурсу.
Наприклад, запит GET до точки, яка приймає лише POST. Відповідь повинна включати заголовок Allow зі списком дійсних методів.
406Неприйнятно
Жодне подання ресурсу не відповідає заголовкам Accept клієнта.
Неприйнятно
Жодне подання ресурсу не відповідає заголовкам Accept клієнта.
Клієнт запитав тип вмісту, мову або кодування (через Accept, Accept-Language, Accept-Encoding), які сервер не може надати. Багато серверів пропускають сувору перевірку узгодження і повертають типове значення.
407Потрібна аутентифікація проксі
Клієнт повинен спочатку пройти автентифікацію через проксі.
Потрібна аутентифікація проксі
Клієнт повинен спочатку пройти автентифікацію через проксі.
Як 401, але виданий проксі: клієнт повинен надіслати облікові дані Proxy-Authorization. Видно в корпоративних мережах з автентифікуючими проксі.
408Час очікування запиту вийшов
Сервер перевищив час очікування запиту.
Час очікування запиту вийшов
Сервер перевищив час очікування запиту.
Клієнт занадто довго відправляв тіло запиту або тримав з'єднання в неактивному стані. Спробуйте запит ще раз.
409Конфлікт
Запит конфліктує з поточним станом ресурсу.
Конфлікт
Запит конфліктує з поточним станом ресурсу.
Зазвичай повертається при конфліктах одночасного редагування або дублювання ресурсу (наприклад, створення користувача з електронною адресою, яка вже існує).
410Видалено
Ресурс був видалений і не повернеться.
Видалено
Ресурс був видалений і не повернеться.
Сильніше за 404 — сервер явно знає, що ресурс РАНІШЕ ІСНУВАВ, але був назавжди видалений. Пошукові системи видалять його з індексу.
411Вимагається довжина
Сервер вимагає заголовка Content-Length.
Вимагається довжина
Сервер вимагає заголовка Content-Length.
Запит було відхилено, оскільки він не мав заголовка Content-Length, а сервер відмовляється від тіл невідомого розміру. Додайте заголовок і повторіть спробу.
412Не вдалося виконати передумову
Умова в заголовках запиту не була виконана.
Не вдалося виконати передумову
Умова в заголовках запиту не була виконана.
Повертається, коли умовні заголовки, такі як If-Match або If-Unmodified-Since, не спрацьовують — зазвичай оптимістичне блокування: хтось інший змінив ресурс з часу вашої версії. Отримайте заново і повторіть спробу.
413Корисне навантаження надто велике
Тіло запиту перевищує обмеження розміру сервера.
Корисне навантаження надто велике
Тіло запиту перевищує обмеження розміру сервера.
Поширене при завантаженні великих файлів. Конфігурація сервера (nginx, apache) встановлює максимальний розмір тіла. Перевірте конфігурацію сервера.
414URI надто довгий
URL запиту перевищує обмеження довжини сервера.
URI надто довгий
URL запиту перевищує обмеження довжини сервера.
Зазвичай викликається дуже довгими рядками запиту (наприклад, кодування даних у GET). Перейдіть на тіло POST або збільште обмеження сервера, якщо ви його контролюєте.
415Непідтримуваний тип медіа
Сервер не може обробити відправлений Content-Type.
Непідтримуваний тип медіа
Сервер не може обробити відправлений Content-Type.
Наприклад, відправлення application/xml на сервер, який приймає лише application/json. Встановіть правильно заголовок Content-Type.
416Діапазон не задовільний
Запитаний діапазон байтів знаходиться поза розміром ресурсу.
Діапазон не задовільний
Запитаний діапазон байтів знаходиться поза розміром ресурсу.
Заголовок Range запитує частину, яка не існує у файлі — наприклад, відновлення завантаження після кінця файлу. Відповідь повинна містити Content-Range з фактичним розміром.
417Не вдалося виконати очікування
Сервер не може задовольнити вимоги заголовка Expect.
Не вдалося виконати очікування
Сервер не може задовольнити вимоги заголовка Expect.
Надсилається, коли сервер не підтримує Expect: 100-continue. Деякі клієнти за замовчуванням надсилають цей заголовок при великих POST; його вимкнення зазвичай вирішує проблему.
418Я чайник
Сервер відмовляється варити каву, тому що це чайник.
Я чайник
Сервер відмовляється варити каву, тому що це чайник.
Жарт Першого квітня 1998 року (RFC 2324). Деякі реальні API використовують його для жартів або позначення застарілих кінцевих точок. Не для виробничого використання.
421Невірно спрямований запит
Запит було надіслано на сервер, який не може для нього дати відповідь.
Невірно спрямований запит
Запит було надіслано на сервер, який не може для нього дати відповідь.
Поширено при повторному використанні з'єднання HTTP/2: запит дійшов до сервера, який не налаштований для цього імені хосту. Клієнт повинен повторити спробу на новому з'єднанні.
422Неможливо обробити вміст
Запит був синтаксично коректним, але семантично неправильним.
Неможливо обробити вміст
Запит був синтаксично коректним, але семантично неправильним.
Наприклад, JSON було коректно розібрано, але відсутнє обов'язкове поле або значення поля було за межами діапазону. Поширене у відповідях валідації REST API.
423Заблоковано
Ресурс заблоковано.
Заблоковано
Ресурс заблоковано.
WebDAV: ресурс джерела або призначення заблоковано іншим клієнтом, тому операція не може продовжитися. Дочекайтеся звільнення блокування або розірвіть його з належним токеном.
424Невдала залежність
Запит не вдався, оскільки не вдався попередній залежний запит.
Невдала залежність
Запит не вдався, оскільки не вдався попередній залежний запит.
WebDAV: у ланцюзі залежних операцій попередня дія не вдалася, тому ця не була виконана. Перегляньте попередню помилку, щоб знайти основну причину.
425Занадто рано
Сервер відмовляється обробляти запит, який може бути відтворений.
Занадто рано
Сервер відмовляється обробляти запит, який може бути відтворений.
Пов'язано з TLS 1.3 0-RTT (ранні дані): сервер не ризикуватиме обробкою, можливо, відтворюваного запиту. Клієнт повинен повторити спробу після завершення квитування.
426Потрібне оновлення
Клієнт повинен перейти на інший протокол.
Потрібне оновлення
Клієнт повинен перейти на інший протокол.
Сервер відмовляється обслуговувати запит через поточний протокол, але буде після оновлення — відповідь містить заголовок Upgrade, що називає потрібний протокол.
428Передумова необхідна
Сервер вимагає, щоб запит був умовним.
Передумова необхідна
Сервер вимагає, щоб запит був умовним.
Сервер вимагає умовних заголовків (наприклад, If-Match), щоб запобігти конфліктам втраченого оновлення. Отримайте ресурс, запишіть його ETag і надішліть повторно з If-Match.
429Занадто багато запитів
Клієнт обмежується за частотою.
Занадто багато запитів
Клієнт обмежується за частотою.
Уповільніть. Відповідь повинна містити заголовок Retry-After, що вказує, коли повторити спробу. Поширено для API, які мають квоти запитів.
431Поля заголовка запиту надто великі
Заголовки надто великі для обробки сервером.
Поля заголовка запиту надто великі
Заголовки надто великі для обробки сервером.
Або один заголовок, або загальний розмір заголовка перевищує обмеження — найчастіше викликається надмірними файлами cookie. Очистіть файли cookie або зменшіть те, що ваша програма в них зберігає.
451Недоступно з юридичних причин
Доступ заборонено через юридичні вимоги.
Недоступно з юридичних причин
Доступ заборонено через юридичні вимоги.
Ресурс заблоковано з юридичних причин — цензура, судові накази або регіональні нормативні акти. Число посилається на роман «Fahrenheit 451».
500Внутрішня помилка сервера
Сервер зіткнувся з непередбачуваною умовою.
Внутрішня помилка сервера
Сервер зіткнувся з непередбачуваною умовою.
Універсальний код для помилок на стороні сервера. Перевірте журнали сервера щодо фактичної причини: необроблений виняток, помилка бази даних тощо.
501Не реалізовано
Сервер не підтримує запитану функцію.
Не реалізовано
Сервер не підтримує запитану функцію.
Наприклад, сервер не розпізнає метод HTTP. Рідко на практиці — частіше ви побачите 405.
502Невдалий шлюз
Сервер, діючи як шлюз, отримав погану відповідь від вищестоящого сервера.
Невдалий шлюз
Сервер, діючи як шлюз, отримав погану відповідь від вищестоящого сервера.
Поширено в архітектурах мікросервісів. Ваш балансувальник навантаження або зворотний проксі отримав некоректну відповідь від сервісу бекенду.
503Послуга недоступна
Сервер тимчасово не може обробити запит.
Послуга недоступна
Сервер тимчасово не може обробити запит.
Або на обслуговуванні, або перевантажено. Відповідь повинна містити заголовок Retry-After. Часто повертається під час розгортань.
504Тайм-аут шлюзу
Сервер шлюзу перевищив час очікування на відповідь від вищестоящого сервера.
Тайм-аут шлюзу
Сервер шлюзу перевищив час очікування на відповідь від вищестоящого сервера.
Сервіс бекенду не відповів достатньо швидко. Перевірте стан вищестоящого сервісу та конфігурацію тайм-аутів.
505Версія HTTP не підтримується
Сервер не підтримує версію HTTP, використану в запиті.
Версія HTTP не підтримується
Сервер не підтримує версію HTTP, використану в запиті.
Основна версія HTTP запиту не підтримується сервером. Майже ніколи не зустрічається у сучасних клієнтів.
506Варіант також узгоджується
Сервер має помилку в конфігурації узгодження вмісту.
Варіант також узгоджується
Сервер має помилку в конфігурації узгодження вмісту.
Прозоре узгодження вмісту зациклилося: вибраний варіант сам налаштований на узгодження. Указує на помилку в конфігурації сервера.
507Недостатньо сховища
На сервері закінчилося місце на диску.
Недостатньо сховища
На сервері закінчилося місце на диску.
Спочатку для WebDAV, але іноді використовується загальними серверами. Означає, що сервер не може зберегти запит через обмеження зберігання.
508Виявлено цикл
Сервер виявив нескінченний цикл під час обробки запиту.
Виявлено цикл
Сервер виявив нескінченний цикл під час обробки запиту.
WebDAV: обробка запиту Depth: infinity увійшла в цикл (наприклад, циклічні прив'язки). Операцію було припинено.
510Не розширено
Потрібні подальші розширення запиту.
Не розширено
Потрібні подальші розширення запиту.
Із застарілої системи розширення HTTP: сервер потребує більше інформації, перш ніж він може виконати запит. Фактично не використовується у сучасному вебі.
511Аутентифікація в мережі необхідна
Клієнт повинен пройти автентифікацію, щоб отримати доступ до мережі.
Аутентифікація в мережі необхідна
Клієнт повинен пройти автентифікацію, щоб отримати доступ до мережі.
Використовується порталами авторизації в мережі (WiFi готелів/аеропортів), щоб вказати, що користувач повинен увійти в мережу перед доступом до зовнішніх сайтів.
Типові застосування
- Довідка для дизайну APIПід час проектування REST API виберіть правильний код статусу для кожної відповіді.
- Швидко шукайте коди помилокКоли ваш додаток повертає заплутану помилку HTTP, шукайте, що це означає насправді.
- Вивчення кодів стану HTTPВичерпна довідка для студентів та розробників, які вивчають HTTP та REST.
- Швидка довідка під час інцидентівПід час виробничих інцидентів швидко шукайте, що означає кожний код статусу.
- Довідка для документації APIПід час написання документації API посилайтесь на авторитетні описи кодів стану, які ви повертаєте.
Як це працює
Цей інструмент — клієнтський довідник на основі вбудованої таблиці з 63 кодів стану HTTP з усіх п’яти класів (1xx–5xx), кожен із номером RFC, що його визначає. Без звернень до сервера, зовнішніх API чи мережевих запитів — усе фільтрування й відображення відбувається в браузері вбудованими методами масивів і рядків JavaScript.
- 1Таблиця завантажуєтьсяПовний набір із 63 зареєстрованих в IANA кодів стану вбудовано прямо в інструмент як масив JavaScript; кожен запис містить числовий код, канонічну англійську назву, клас категорії й конкретний RFC, що його визначає (наприклад, RFC 9110 для більшості кодів HTTP/1.1, RFC 6585 для 429 Too Many Requests, RFC 2324 для 418 I'm a Teapot).
- 2Фільтрування в пам’ятіКоли ви вводите запит чи вибираєте фільтр категорії, Array.filter у JavaScript працює над списком у пам’яті, зіставляючи запит із номером коду стану, канонічною назвою та короткими й довгими описами через String.includes — без затримки й звернень до сервера.
- 3Деталі розгортаються з посиланням на RFCКожен результат рендериться як HTML-елемент details/summary. Розгортання запису показує докладне пояснення й пряме посилання на авторитетний RFC на rfc-editor.org, тож можна прочитати точний текст специфікації для будь-якого коду.
- 4Прямі посилання й копіювання в буферВідкриття запису оновлює хеш URL на номер коду (наприклад, #404), тож сторінкою зручно ділитися й додавати в закладки. Кнопка копіювання записує канонічний рядок (наприклад, '404 Not Found') у буфер обміну через API браузера navigator.clipboard.
Схожі інструменти
Генератор цитувань
Створюйте цитати та посилання в тексті за стандартами APA 7, MLA 9, Chicago і Harvard для сайтів, книг, журналів і YouTube — і формуйте список літератури для копіювання чи експорту. Безкоштовно та приватно.
Інтервальний таймер
Таймер роботи й відпочинку для тренувань HIIT і Tabata з розминкою, раундами, підходами, великим зворотним відліком, фазами з кольоровим кодуванням, сигналами та необовʼязковими голосовими підказками.
Розділення відео
Розділіть довге відео на частини: шматки по 60 секунд для статусів чи сторіс у WhatsApp, задану кількість рівних частин або частини розміром до певного ліміту, наприклад 25 MB для електронної пошти. Зберігайте кожну частину окремо або все разом у ZIP. Працює у вашому браузері; відео не завантажується на сервер.