Зміст статті
- /01 Коди стану 2хх
- Код відповіді 200 ОК
- Код відповіді 201 Created (Створено)
- Код відповіді 202 Accepted (Прийнятий)
- Код відповіді 203 Non-Authoritative Information (Неавторитетна інформація)
- Код відповіді 204 No Content (Немає вмісту)
- Код відповіді 205 Reset Content (Скидання вмісту)
- Код відповіді 206 Partial Content (Часткове скидання)
- Код відповіді 207 «Multi-status»
- Код відповіді 208 Already reported (Вже повідомлено)
- Код відповіді 225
- /02 Підведемо підсумки

HTTP-код стану (відповіді) чи, як його часто називають, «статус-код» – це невелике тризначне число, яке передає інформацію про те, як оброблений запит користувача сервером. Він допомагає визначити, чи успішно сервер обробив запит, чи виникли проблеми. Кожен статус код має свою інтерпретацію і дозволяє відобразити конкретний стан відповіді сервера на запит.
Шляхом аналізу статус-кодів можна швидко оцінити, що сталося із запитом, і чи потрібно вживати додаткових заходів. Вони є важливим інструментом для веб-розробників, допомагаючи виявити та усунути проблеми з веб-сайтами та веб-додатками.
Також разом із тризначним кодом завжди застосовується фраза-ідентифікатор, яка є якоюсь підказкою про природу кожної окремої відповіді. Усі коди відповіді поділяються на класи. Перша цифра в коді вказує клас стану, а наступні дві цифри додають уточнення.
- 1xx: Інформаційні коди, що відображають процес передачі запиту.
- 2xx: Коди успішного виконання, які підтверджують, що сервер успішно прийняв та обробив запит.
- 3xx: Коди перенаправлення використовуються, коли запитуваний ресурс переміщений, і потрібен повторний запит із новим URI.
- 4xx: Коди помилок з боку клієнта, вказують на проблему із запитом.
- 5xx: Коди помилок з боку сервера, повідомляють про проблему обробки запиту на сервері.
Кожен клас містить багато статус-кодів, де кожен код має своє унікальне значення. На даний момент існує понад 60 статус-кодів. На практиці зазвичай користувачі стикаються лише з невеликою частиною. Під час запуску сайту вивчення цього списку допоможе швидко визначити помилку та зрозуміти, з чим потрібно працювати.
Як дізнатися код відповіді?
Коли ви відкриваєте веб-сторінку, ваш браузер запитує дані із сервера для завантаження контенту. Іноді сторінка може не завантажуватись повністю, або виникають проблеми з окремими елементами. У таких випадках корисно перевірити коди відповіді сервера, щоб зрозуміти, що відбувається у фоновому режимі.
Щоб побачити ці коди в браузері, існує декілька способів.
Один із найпростіших – це скористатися вбудованими інструментами розробника у браузері. У популярних браузерах, таких як Google Chrome або Mozilla Firefox, є інструменти, які дозволяють аналізувати веб-сторінки. Щоб переглянути коди відповіді сервера, відкрийте інструменти розробника, натиснувши Fn+F12 і перейдіть на вкладку «Мережа» (Network). Тут буде показано список усіх запитів, які надіслав ваш браузер, разом із кодами стану для кожного. Якщо запит не вдався, ви зможете побачити код відповіді сервера, який допоможе зрозуміти причину проблеми.
Ще один спосіб – різні програми та сервіси для вивантаження сайтів. Практично в кожному з них є опція визначення статус-коду. У своїй практиці ми часто використовуємо Screaming frog:
Коди стану 2хх
Група кодів відповіді 2xx вказує на успішне виконання запитаної клієнтом операції. Кожен код цієї категорії відображає успішне завершення запиту, можливі додаткові дії для повного виконання або певні нюанси процесу завершення. Іншими словами, при нормальній роботі сервера будь-який успішно оброблений запит клієнта завершиться однією з відповідей цієї групи.
До найбільш відомих значень відносять:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 225
Цю групу відповідей часто називають «помилка 2хх», але таке визначення вкрай недоречно, бо за своєю суттю помилками вони не є.
У цій статті зупинимося на кожному з них: у яких випадках можуть виникнути та за що відповідають.
Код відповіді 200 ОК
Найвідоміший код стану. Код стану 200 відображається користувачеві у тих випадках, коли сайт швидко завантажується та коректно показує потрібну інформацію у відповідь на дію користувача.
Простіше кажучи, код 200 свідчить про те, що запит було успішно виконано: дані передані, оброблені та жодних помилок не виникло. Якщо ж відбулися збої, у логах вебмайстра буде відображено інший код відповіді. Результат запиту може бути з групи кодів 2xx або іншої, залежно від стану обладнання, мережі та інших факторів.
Як правило, користувачі не бачать код 200 напряму, він важливий для діагностики, коли вебмайстер перевіряє роботу сайту.
Код відповіді 201 Created (Створено)
Цей тип відповіді означає, що під час запиту було прийнято і в результаті було створено новий ресурс. Наприклад, запит користувача спричинив створення нової веб-сторінки, яка раніше не існувала. Сервер налаштований таким чином, що має створити цей ресурс до відправки коду 201. Якщо документ не вдається створити вчасно, сервер відправляє альтернативний код 202, який означає, що запит прийнятий, але ще не завершений.
Як приклад, можна навести запит з GET-параметром, який створить новий запис у лозі, що відображає час, дату та текст запиту.
Паралельно з цією відповіддю, сервер генерує параметр location, який демонструє розташування даних.
Код відповіді 202 Accepted (Прийнятий)
Якщо ви спостерігаєте 202 код стану, це означає, що запит прийнятий системою в обробку, але процедура ще не завершилася. Такий тип відповіді не зобов’язує користувача до прийняття якихось дій, швидше просто повідомляє. Статус не може відправитись повторно через асинхронність самої операції.
При коректному налаштуванні під час спрацювання коду відповіді 202 повинен повертатися статус виконання запиту або прикладається посилання на джерело, де користувач зможе спостерігати поточний статус виконання операції або переконатися в її виконанні.
Код відповіді 203 Non-Authoritative Information (Неавторитетна інформація)
Цей код стану від хоста передається у випадках, коли клієнт підключається до мережі через проксі-сервер і намагається надіслати запит на веб-хост. Він сигналізує про те, що дані були змінені через проксі і тепер вважаються недостовірними в контексті синхронізації між клієнтом і хостом. Простіше кажучи, код 203 з’являється, коли проксі-сервер змінює успішну відповідь через конфігурацію, порушуючи цілісність і достовірність даних.
Код відповіді 203 особливо важливий для коректної роботи веб-застосунків, оскільки сервер повідомляє клієнту, що дані були змінені і не повинні зберігатися в кеші. Це необхідно для запобігання конфліктам під час використання застарілих даних. У таких ситуаціях кеш повинен бути оновлений після усунення проксі-сервера з конфігурації, щоб уникнути невідповідностей.
Код відповіді 204 No Content (Немає вмісту)
Цей код є сигналом від сервера, який говорить про те, що запит отриманий і зрозумілий. Однак він не містить даних, які могли б бути передані користувачеві. Зазвичай такий код застосовується для активації сценаріїв без зміни веб-сторінки. Він має бути без змістовного тексту та розміщений на початку коду, доступному відразу після заголовка.
Коли потрібно використовувати цей код? Він застосовується переважно у випадках, коли потрібно виконати будь-які дії без необхідності оновлення ресурсу (наприклад, сторінки).
Код відповіді 205 Reset Content (Скидання вмісту)
Цей код вказує на успішне оброблення запиту сервером без повернення контенту. На відміну від коду 204, ця відповідь передбачає оновлення документа.
Зазвичай, такий код застосовується в ситуаціях, коли користувач заповнює форму, а сервер після цього відправляє запит браузеру на очищення цієї форми. Він нагадує код 204, однак передбачає, що користувач повинен скинути документ після завершення обробки. Наприклад, після перевірки вірності даних потрібно очистити HTML-форму.
Код відповіді 206 Partial Content (Часткове скидання)
Сервер повертає лише ділянку контенту, що відповідає заголовку, надісланому клієнтом. Зазвичай це з використанням просунутих засобів кешування. Це відбувається у випадках, коли користувач хоче отримати лише певну частину вмісту сторінки, а сервер надає дані лише для цієї частини.
В основному, цей код використовується у випадках запиту If-Range, який застосовується в потужних кеш-перевіряючих пристроях. Запит також повинен містити заголовки діапазонів, які визначають параметри інформації, що повертається.
Код відповіді 207 «Multi-status»
Це повідомлення стосується випадків, коли сервер прийняв запит користувача, але викликав декілька реакцій від сервера, які були об’єднані в одну відповідь. Код стану 207 з’являється в тих випадках, коли сервер відповідає на завершення пакетного запиту, виявляючи декілька джерел або записів даних для подання як відповіді, а також коли запит відповідає умовам для декількох різних відповідей.
По суті код відповіді 207 являє собою механізм, який дозволяє серверу об’єднати декілька кодів відповіді в одне повідомлення. Тому, у разі потреби, клієнт повинен вручну перевірити всі включені закодовані повідомлення.
Код відповіді 208 Already reported (Вже повідомлено)
Подібний тип відповіді (як і попередній) вкрай рідко зустрічається на рівні досвіду користувача.
Сервер інформує клієнта про те, що певна інформація вже була передана раніше і не потребує повторної передачі. Це корисно для запобігання надлишкової передачі тих самих даних, особливо за наявності безлічі взаємозалежних ресурсів на сервері. Клієнт може використовувати цю відповідь для оптимізації своїх запитів та запобігання зайвим повторним передачам даних.
Код відповіді 225
Цей статус не є частиною протоколу HTTP. Однак закодоване повідомлення з цим статусом є внутрішньою реакцією FTP-хостів. Він вказує на випадки, коли з’єднання між клієнтом та хостом встановлене та стабільне, але зараз не передається жодних даних. Простіше кажучи, «з’єднання встановлено, але дані не передаються» – це пряме пояснення цього повідомлення.
Статус 225 інформує про те, що на обох сторонах немає проблем і все готове для завантаження або розвантаження даних на бік хоста або клієнта відповідно. Таким чином, відповідь 225 для протоколу FTP практично означає те саме, що й відповідь 200 «OK» для протоколу HTTP. Побачивши це повідомлення, користувач може почати керувати даними на файловому хості без проблем і надалі отримає інші закодовані повідомлення.
Підведемо підсумки
Коди відповідей 2xx свідчать про успішне виконання запитів. Ці коди повідомляють, що сервер успішно обробив запит клієнта, чи то завантаження сторінки, чи то створення нового ресурсу, чи то отримання даних. Вони є важливим показником коректної роботи веб-сайту і нормальної взаємодії з сервером, забезпечуючи стабільність і позитивний користувацький досвід.





