Ця стаття розпочинає цикл матеріалу за статус-кодами 2хх-5хх
Що таке код відповіді
Код стану (відповіді) або як його ще часто називають “статус-код” – це перша частина відповіді сервера, яка сигналізує користувачеві про результат звернення. Перша з 3 цифр (в контексті цієї статті – цифра «2») – це клас стану.
Також разом із тризначним кодом завжди застосовується фраза-ідентифікатор, яка є якоюсь підказкою про природу кожної окремої відповіді.
Приклади найпопулярніших:
- 200 ОК
- 301 Moved Permanently
- 404 Not Found
- 502 Bad Gateway
Як дізнатися код відповіді?
Існує безліч програм та сервісів для вивантаження сайтів. Майже в кожній з них є опція визначення статус-коду. У своїй практиці ми використовуємо Screaming frog:
Насправді коди відповіді можна отримати навіть з базового функціоналу Google Chrome. Досить просто увійти в режим розробника, натиснувши F12 і перейти на вкладку “Network”:
Коди стану 2хх. Статус-коди “успіх”
Під шифром 2хх мається на увазі список всіх варіантів кодів відповіді, які відносяться до 200-ої категорії. Сюди входять такі значення:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
Ця категорія кодів називається як “успішні” (“success”). Таку назву ця група отримала за рахунок того, що первинне звернення з боку користувача завжди успішне, тобто сервер успішно приймає його, але надалі відповідає з оглядкою на кожну окрему ситуацію.
Цю групу відповідей часто називають помилка 2хх, але таке визначення вкрай недоречне, т.к. за своєю природою помилками вони є.
У цій статті зупинимося на кожному з них: у яких випадках можуть виникнути та за що відповідають. Почнемо із головного.
Код відповіді 200 ОК
Найвідоміший код стану. Означає, що при спробі перейти на потрібну сторінку все пішло коректно. Але щоб точно зрозуміти, до чого належить статус «успішно» потрібно розуміти метод http, що запитується.
Код відповіді 201 Created
Цей тип відповіді означає, що при запиті було прийнято і в результаті було створено новий ресурс. Як приклад, можна навести запит з GET-параметром, який створить новий запис у лозі, що відображає час, дату та текст запиту.
Паралельно з цією відповіддю сервер генерує параметр location, який демонструє розташування розташування даних.
По помилці цей тип відповіді часто називають «помилка 201», але це не так.
Код відповіді 202 Accepted
Якщо Ви спостерігаєте 202 код стану, це означає, що запит прийнято системою в обробку, але процедура ще не завершилася. Такий тип відповіді не зобов’язує користувача до прийняття якихось дій, швидше просто повідомляє. Статус не може відправитися повторно через асинхронність самої операції.
При коректному налаштуванні, при спрацьовуванні коду відповіді 202 повинен повертатися статус виконання запиту або прикладається посилання на джерело, де користувач зможе спостерігати поточний статус виконання операції або переконатися в її виконанні.
Кот відповіді 203 Non-Authoritative Information
Не авторитетна інформація – назва коду говорить сама за себе: вміст, що демонструється, взятий не з оригінального джерела. Як приклад, інформація, яку бачить користувач, підтягується з резервної копії або кеша, які могли застаріти та втратити свою актуальність.
Цей код стану, також нічого не зобов’язує користувача, просто ставить під сумнів актуальність запропонованої інформації.
Код відповіді 204 No Content
Цей код стану означає, що запит був оброблений, однак немає необхідності повертати у відповідь якісь дані. При коректному спрацьовуванні демонструється лише заголовок, без тіла повідомлення.
У випадку, якщо клієнтом запиту є браузер – відображення та стан документа не повинно змінюватися не до, не після надсилання запиту.
204 код відповіді, в основному, ставиться для відстеження виконання самого запиту, враховуючи збереження даних і їх уявлень.
Код відповіді 205 Reset Content
Статус-код 205 “Скинути вміст” свідчить про те, що запит оброблений і від користувача потрібно скинути введені дані. Використовується для повернення до первинного стану форми для введення даних.
Код відповіді 206 Partial Content
Відповідь сигналізує про коректне виконання GET-запиту. Статус-код 206 використовується, коли клієнт надсилає заголовок діапазону, щоб робити завантаження окремо, кілька потоків.
Код відповіді 207 Multi-status
Як сказано на Вікіпедії (ru.wikipedia.org):
«Сервер передає результати одразу кількох незалежних операцій»
Ми вважаємо це формулювання найбільш зрозумілим і вдалим, тому процитували його у вихідному вигляді.
І трохи доповнимо: сервер передає результати виконання відразу кількох незалежних операцій, а ці результати розміщуються в повідомленні, якому надається мульти-статус (multi-status з англ.)
Код відповіді 208 Already reported
Подібний тип відповіді (як і попередній) вкрай рідко зустрічається на рівні досвіду користувача.
Як правило, він застосовується всередині відповіді <dav:propstat>, щоб виключити повторне перерахування внутрішніх членів кількох прив’язок до однієї колекції.
Код відповіді 226 IM used
Один з найбільш рідкісних типів відповідей, серед усіх 200-х.
Найточніше і зрозуміліше суть цієї відповіді описали хлопці з ресурсу bname.ru:
«Сервер успішно прийняв запит на ресурс, і відповідь є поданням результату однієї або кількох маніпуляцій з екземпляром ресурсу. Фактично, поточне подання ресурсу може бути недоступне в даний момент, оскільки дія може бути глобальною і впливати на кілька екземплярів ресурсу, і, відповідно, може бути поєднано з майбутньою або можливою майбутньою відповіддю, пов’язаною з конкретними діями над конкретним екземпляром ресурсу (або ресурсів) .»
У наступній статті йдеться про відповіді категорії 300.