Коди відповідей сервера: повний список

Коди відповідей сервера: повний список

08.02.2023
Автор: HostZealot Team
2 мін.
453

Коли браузер або пошуковий робот звертаються до сервера із запитом, йому у відповідь автоматично видається певний код із позначенням статусу. Будь-який код стану HTTP є тризначним і може бути в межах від 100 до 526. Діапазон періодично розширюють для опису нових станів, але відбувається таке нечасто, тому описаних у цій статті кодів відповідей сервера буде достатньо в 99% випадків.

Групи відповідей сервера

Існує 5 категорій відповідей:

  1. Інформаційні (Informational) – у діапазоні від 100 до 105.
  2. Успішні (Success) – у діапазоні від 200 до 226.
  3. Перенаправлення (Redirection) – від 300 до 307.
  4. Помилки клієнта (Client Client 400 до 499.
  5. Помилки сервера (Server Error) – від 500 до 526.

Розглянемо докладніше найпоширеніші коди кожної з цих категорій.

1xx: група інформаційних відповідей



  1. Код відповіді Розшифровка відповіді Версія HTTP
  2. 100 «Continue» Інформує про прийняття сервером запиту та ініціалізації подальшої обробки. Тобто клієнту дозволяється продовжити пересилання заголовків. HTTP/1.1
  3. 101 «Switching Protocols» Цей код відповіді сервера вказує, що TCP-з'єднання слід використовувати для іншого протоколу. У полі заголовка Update також обов'язково вказується кілька відповідних протоколів. HTTP/1.1
  4. 102 «Processing» Повідомляє про успішне прийняття запиту, але також говорить про те, що на його обробку потрібно значно більше часу, ніж зазвичай. Якщо ви бачите такий код – не поспішайте розривати з'єднання із сервером, дочекайтеся завершення обробки. HTTP/1.1
  5. 103 «Early Hints» Цей код забезпечує раннє повернення метаінформації – частини заголовків. Використовується у ситуаціях, коли заголовки повної відповіді неможливо сформувати швидко. HTTP/1.1


У відповідь на інформаційні коди нічого відправляти на сервер не потрібно, вони потрібні лише для того, щоб проінформувати сторону, що приймає, про свій статус.

2xx: група успішних відповідей



  1. Код відповіді Розшифровка відповіді Версія HTTP
  2. 200 «OK» Повідомляє про успішне завершення обробки запиту. Якщо клієнт запитував дані, їх можна подивитися в отриманому заголовку або відповіді. HTTP/1.0 і новіші
  3. 201 «Created» Повідомляє про успішне виконання запиту про створення нового ресурсу. Адреса нового ресурсу прикріплюється до тіла відповіді. HTTP/1.0 і новіші
  4. 202 «Accepted» Прийняття запиту на обробку без остаточного завершення. Клієнт може не чекати повної передачі повідомлення, оскільки цей процес може тривати тривалий час. HTTP/1.0 і новіші
  5. 203 «Non-Authoritative Information» Цей код відповіді сервера аналогічний 200 «ОК» з тією різницею, що інформація береться не з першоджерела, тому її актуальність під питанням. HTTP/1.0 і HTTP/1.1
  6. 204 «No Content» Успішна обробка запиту, але клієнт отримує лише заголовки без вмісту. Самі заголовки можна використовувати для оновлення метаданих. HTTP/1.0 і новіші
  7. 205 «Reset Content» Тільки на HTTP/1.1
  8. 206 «Partial Content» Сигналізує про часткове виконання GET-запиту. При такій відповіді заголовок Content-Range міститиме один або декілька байтових діапазонів вмісту. Тільки на HTTP/1.1
  9. 207 «Multi-Status» Повідомляє про одночасну передачу сервером результатів кількох незалежних операцій. З'явився у WebDAV


3xx: повідомлення про перенаправлення

Ця група відповідей сервера інформує про те, що для подальшого виконання операції потрібно ініціювати інший запит на певний URL. Потрібний URL можна прочитати в заголовку Location.



  1. Код відповіді Розшифровка відповіді Версія HTTP
  2. 300 «Multiple Choice» На вказану URL-адресу є кілька варіантів надання ресурсу за типом MIME, мовою або іншим критеріям. У тілі відповіді сервер надсилає список можливих відповідей, у тому числі клієнт має вибрати найбільш підхожий. Використовується вкрай рідко через те, що уніфікованого методу вибору однієї відповіді немає. HTTP/1.0 і новіші
  3. 301 «Moved Permanently» Запитуваний документ остаточно перенесено за новою URL-адресою. Сама адреса вказується в полі Location. HTTP/1.0 і новіші
  4. 302 «Found» Повідомляє про тимчасову доступність запитуваного документа за вказаною URL-адресою, яку також можна прочитати в полі Location. HTTP/1.0 і новіші
  5. 303 «See Other» Цей код відповіді сервера покликаний перенаправити клієнта на інший URL. Надсилається у випадку, якщо запитаний документ тимчасово доступний за іншою адресою. HTTP/1.1 і новіші
  6. 304 «Not Modified» Сервер надсилає цей код, коли клієнт запитує документ методом GET, використовуючи заголовок If-Modified-Since або If-None-Match. При цьому повідомлення сервера не повинно мати тіла. Для перегляду цікавого документа слід надіслати запит на іншу URL, вказану в заголовку Location. HTTP/1.0 і новіші
  7. 305 «Use Proxy» Запит до ресурсу необхідно здійснювати через proxy-сервер, адресу якого можна знайти в рядку заголовка Location відповіді сервера. HTTP/1.1 і новіші
  8. 306 «Switch Proxy» Запит до ресурсу необхідно здійснювати через проксі, вказаний сервером у заголовку відповіді. На сьогоднішній день код не використовується. Тільки HTTP/1.1
  9. 307 «Temporary Redirect» Повідомляє, що запитаний ресурс був тимчасово переміщений на URL-адресу, вказану в заголовку Location. Введено в RFC 2616 з оновленням HTTP/1.1
  10. 308 «Permanent Redirect» Повідомляє, що запитаний ресурс був перманентно, тобто назавжди, переміщений на URL-адресу, вказану в заголовку Location. Введено в RFC 7238


Коди відповідей сервера: повний список

4xx: група відповідей про помилки клієнта

Коди цієї групи повідомляють про помилки на стороні клієнта. Як правило, у тілі повідомлення вказується гіпертекстове пояснення для користувача. Розглянемо основні.



  1. Код відповіді Розшифровка відповіді Версія HTTP
  2. 400 «Bad Request» У запиті клієнта виявлена ​​синтаксична помилка HTTP/1.0 і вище
  3. 401 «Unauthorized» Щоб отримати доступ до ресурсу, необхідно пройти автентифікацію. HTTP/0.9 і выше
  4. 402 «Payment Required» Таку відповідь можна отримати від сервера з платним сервісом користувача. HTTP/0.9 і 1.1
  5. 403 «Forbidden» Запит не може бути виконаний через встановлені обмеження за рівнем доступу. Простіше кажучи, запит клієнта не може бути виконаний через обмеження, встановлені адміністратором або розробником софту. HTTP/1.0 і вище
  6. 404 «Not Found» Легендарна і добре відома будь-якому обивателю помилка, що виникає у випадку, якщо на запитуваній URL-адресі відсутній будь-який ресурс. HTTP/1.0 і вище
  7. 405 «Method Not Allowed» Метод клієнта неможливо застосувати до цього ресурсу через ручну деактивацію. Такий код відповіді сервера може повертатися клієнту у відповідь спроби отримати доступ до ресурсів за допомогою методів GET чи HEAD. HTTP/1.1 і вище
  8. 406 «Not Acceptable» Запитувана URL-адреса не відповідає переданим в заголовку характеристикам. У відповідь сервера можна прочитати список допустимих характеристик. HTTP/1.1 і вище
  9. 407 «Proxy Authentication Required» Щоб отримати доступ до ресурсу, необхідно пройти аутентифікацію для проксі-сервера. HTTP/1.1 і вище
  10. 408 «Request Timeout» Видається у випадку, якщо час очікування сервером відповіді від клієнта закінчується. Часто зустрічається на сайтах з двофакторною автентифікацією, на платіжних системах та інших ресурсах, де відповідь від клієнта на будь-який запит має бути в обмежений час. HTTP/1.1 і вище
  11. 409 «Conflict» Повідомляє про неможливість виконання запиту через конфліктне звернення. Наприклад, якщо клієнт намагається змінити ресурс за допомогою команди PUT. HTTP/1.1 і вище
  12. 410 «Gone» Надсилається у випадку, якщо ресурс, який раніше знаходився за вказаною URL, був перенесений на іншу адресу. При цьому нова адреса серверу невідома. HTTP/1.1 і вище
  13. 411 «Length Required» Клієнту слід вказати Content-Length у заголовку запиту і потім повторно звернутися до сервера. HTTP/1.1 і вище
  14. 412 «Precondition Failed» Клієнт вказав у своїх заголовках умови, які сервер не може виконати. HTTP/1.1 і вище
  15. 413 «Payload Too Large» Повідомляє про перевищення допустимого розміру тіла запиту. HTTP/1.1 і вище
  16. 414 «URI Too Long» Клієнт вказав надто довгу URL-адресу. Якщо для передачі параметрів ви використовуєте метод GET, слід спробувати POST. HTTP/1.1 і вище
  17. 415 «Unsupported Media Type» Сервер відмовляється обробляти дані цього типу в рамках застосовуваного методу. Можна спробувати використати інший метод. HTTP/1.1 і вище
  18. 416 «Range Not Satisfiable» Діапазон, вказаний у заголовку Range, не може бути виконаний. При передачі байтових діапазонів сервер у відповідь видасть реальний розмір у полі Content-Range заголовка, його можна використовувати для передачі типу multipart/byteranges. HTTP/1.1 і вище
  19. 417 «Expectation Failed» Дані з поля Expect не задовольняють вимогам сервера, тому запит не може бути виконаний. HTTP/1.1 і вище
  20. 418 «I’m a teapot» Жартівливий код, що походить з 1998 року. Сучасні сервери не підтримуються.
  21. 419 «Authentication Timeout» Використовується як альтернатива 401, коли автентифікація пройдена, але доступ до певних ресурсів на сервері відсутній з боку клієнта. HTTP/1.1 і вище
  22. 421 «Misdirected Request» Сервер повідомляє про невдалу спробу перенаправити запит на інший сервер, який не здатний дати відповідь.
  23. 422 «Unprocessable Entity» Інформує про успішне прийняття запиту та розпізнавання зазначених видів даних. У той же час, через певну логічну помилку провести операцію не може. Введено у WebDAV
  24. 423 «Locked» До запитуваного ресурсу немає доступу, оскільки метод, що використовується по відношенню до нього, не застосовується. Введено у WebDAV
  25. 424 «Failed Dependency» Повідомляє про неможливість виконання запиту у зв'язку з тим, що попередня операція, від якої залежав цей запит, ще не завершена. Введено у WebDAV
  26. 425 «Too Early» Сервер відмовляється брати на себе ризики по обробці ранньої інформації. Введено в RFC 8470 з метою забезпечення захисту від атак повторення при використанні 0-RTT в TLS 1.3
  27. 426 «Upgrade Required» Клієнту необхідно оновити протокол. Деталі містяться в полях Upgrade та Connection. Введено в RFC 2817 для забезпечення можливості переходу до TLS через HTTP
  28. 428 «Precondition Required» Повідомляє про необхідність використовувати в запиті заголовків умов на зразок If-Match Введено в RFC 6585
  29. 429 «Too Many Requests» Клієнт намагається надіслати занадто багато запитів за короткий проміжок. Код помилки має захистити від DDoS. Також можна побачити час, через який можна буде надіслати повторний запит. Введено в RFC 6585
  30. 431 «Request Header Fields Too Large» Повідомляє про перевищення допустимої довжини заголовка. Введено в RFC 6585
  31. 434 «Requested host unavailable» Свідчить про недоступність запитуваної адреси.
  32. 449 «Retry With» Щоб виконати запит, сервер має більше інформації.
  33. 451 «Unavailable For Legal Reasons» Цільовий ресурс недоступний через юридичні процедури. Можна зіткнутися у випадках, коли сайт блокується за рішенням суду чи за вимогою органів правопорядку.

5xx: група відповідей про помилки сервера

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



  1. Код відповіді Розшифровка відповіді Версія HTTP
  2. 500 «Internal Server Error» Повідомляє про внутрішню помилку на стороні сервера, що виходить за рамки інших помилок цієї групи. HTTP/1.0 і вище
  3. 501 «Not Implemented» Сервер не може обробити запит, оскільки не розуміє зазначений метод. Якщо сервер розуміє метод, але відмовляється виконувати запит через внутрішні обмеження, видається код «405». HTTP/1.0 і вище
  4. 502 «Bad Gateway» Видається, якщо запит надісланий проксі-серверу або серверу, що виконує роль шлюзу. Як правило, «проміжний» сервер спробує перенаправити запит на вищий сервер – і, якщо отримує від нього некоректну відповідь, то клієнту видається помилка 502. HTTP/1.0 і вище
  5. 503 «Service Unavailable» На сервері тимчасово відсутня можливість обробки запитів через технічне обслуговування або перезавантаження HTTP/1.0 і вище
  6. 504 «Gateway Timeout» Виконуючи роль шлюзу або proxy-сервера, сервер не отримав відповіді від сервера за якийсь період часу. HTTP/1.1 і вище
  7. 505 «HTTP Version Not Supported» На сервері відсутня підтримка протоколу HTTP вказаної версії. HTTP/1.1 і вище
  8. 507 «Insufficient Storage» Повідомляє, що на сервері недостатньо місця для завершення операції. Введено у WebDAV
  9. 508 «Loop Detected» Операцію перервано через виявлення нескінченного циклу при обробці запиту без обмеження глибини. Введено у WebDAV
  10. 509 «Bandwidth Limit Exceeded» Видається у випадку, якщо веб-майданчик перевищив встановлені для неї обмеження щодо трафіку. В цьому випадку варто звернутися безпосередньо до хостинг-провайдера.
  11. 510 «Not Extended» На сервері відсутнє розширення, яке намагається використовувати клієнт у своєму зверненні. Як правило, відповідь сервера містить дані про доступні розширення на стороні сервера.
  12. 511 «Network Authentication Required» Повідомляє про необхідність авторизації перед тим, як можна буде виконати вказаний запит. Введено стандартом RFC 6585
  13. 520 «Unknown Error» Сервер CDN не може обробити помилку сервера.
  14. 521 «Web Server Is Down» Веб-сервер відхиляє підключення CDN.
  15. 522 «Connection Timed Out» CDN не вдається підключитися до веб-сервера.
  16. 525 «SSL Handshake Failed» Помилка рукостискання SSL між веб-сервером та сервером CDN.
  17. 526 «Invalid SSL Certificate» Невдала спроба підтвердження сертифіката шифрування SSL.


# Сервери Поділитися:
Статті за темою