Коди стану HTTP
Відповідь HTTP починається з трьохзначного коду й короткої фрази причини. Перша цифра — це весь резюме: 1xx попередній, 2xx успішно, 3xx вказує кудись ще, 4xx звинувачує запит, 5xx звинувачує сервер. Якщо ви пам'ятаєте лише це, ви можете прочитати журнал, який ви ніколи раніше не бачили.
Фрази причин тут — це фрази з RFC, англійською мовою, тому що це те, що передається дротом — сервер відправляє "Not Found", а не переклад його, й фраза, яку ви шукаєте в журналі, повинна відповідати байтам, що були фактично відправлені.
Розрізнення, що викликають справжні неприємності, — це всередину класів, а не між ними: 401 проти 403, 301 проти 308, й 502 проти 503 кожен відповідає іншому питанню про те, що робити далі, й кожен регулярно використовується для іншого.
1xx — інформаційна
3Попередня: відповідь не фінальна й іншої слідує.
| Код | Фраза причини | Що це означає |
|---|---|---|
| 100 | Continue | Заголовки отримані, продовжіть відправку тіла. |
| 101 | Switching Protocols | Перемикання протоколів — рукостиск WebSocket. |
| 103 | Early Hints | Ранні підказки: попередньо завантажте ці ресурси, поки готується справжня відповідь. |
2xx — успіх
5Запит було отримано, зрозумівся й прийнято.
| Код | Фраза причини | Що це означає |
|---|---|---|
| 200 | OK | Успіх, з тілом. |
| 201 | Created | Створено.Повинен нести заголовок Location, що вказує на новий ресурс. |
| 202 | Accepted | Прийнято для обробки, яка ще не сталася. |
| 204 | No Content | Успіх, і навмисне без тіла.Праве відповідь на DELETE, або збереження без чого повертати. |
| 206 | Partial Content | Частковий вміст — відповідь на запит Range. Возобновлювальні завантаження. |
3xx — переспрямування
6Ресурс де-небудь ще, або ваша кеш копія все ще добра.
| Код | Фраза причини | Що це означає |
|---|---|---|
| 301 | Moved Permanently | Перемістилось постійно. Оновіть свої посилання; кеші можуть це зберігати для завжди. |
| 302 | Found | Знайдено — тимчасове переспрямування.Широко реалізоване як перемикання методу на GET, що 307 виправляє. |
| 303 | See Other | Див. інше: отримайте результат за допомогою GET. Переспрямування після POST форми. |
| 304 | Not Modified | Не змінено — ваша кеш копія поточна. Відправлено без тіла. |
| 307 | Temporary Redirect | Тимчасове переспрямування, метод й тіло збережені. |
| 308 | Permanent Redirect | Постійне переспрямування, метод й тіло збережені. |
4xx — помилка клієнта
14Запит — це проблема. Повтор його без змін знову не вдасться.
| Код | Фраза причини | Що це означає |
|---|---|---|
| 400 | Bad Request | Сервер взагалі не міг розібрати запит. |
| 401 | Unauthorized | Не автентифіковано — сервер не знає, хто ви.Названо Unauthorized, але це означає неавтентифіковано. Повинен включати WWW-Authenticate. |
| 403 | Forbidden | Автентифіковано й все ще не дозволено. Кращі посвідчення не допоможуть. |
| 404 | Not Found | Такого ресурсу немає, й сервер не скаже, чи коли-небудь він був. |
| 405 | Method Not Allowed | Неправильний метод для цього URL.Повинен перелічити ті, що працюють у заголовку Allow. |
| 406 | Not Acceptable | Нічого доступного у форматі, що прийме ваш заголовок Accept. |
| 409 | Conflict | Конфліктує з поточним станом — редагування проти застарілої версії. |
| 410 | Gone | Пішов: він існував й був навмисне видалений. Сильніше, ніж 404. |
| 413 | Content Too Large | Тіло більше, ніж сервер приймає. |
| 415 | Unsupported Media Type | Сервер не обробляє цей Content-Type. |
| 418 | I'm a teapot | Я чайник. Жарт Квітня Дурня 1998 року, постійно зарезервований. |
| 422 | Unprocessable Content | Розібрано правильно, вміст недійсний — відсутнє поле, поганий значення. |
| 429 | Too Many Requests | Обмежена швидкість.Шукайте Retry-After перед повтором й експоненціально відступіть. |
| 451 | Unavailable For Legal Reasons | Заблоковано з юридичних причин. Число — це нарікання на Fahrenheit 451. |
5xx — помилка сервера
6Запит може бути добре. Це ті, що варто повторити.
| Код | Фраза причини | Що це означає |
|---|---|---|
| 500 | Internal Server Error | Необроблена помилка на сервері. Нічого не потрібно виправляти з вашого боку. |
| 501 | Not Implemented | Сервер цей метод цей взагалі не реалізує. |
| 502 | Bad Gateway | Проксі дійшов до поточного сервера й отримав щось невживне назад. |
| 503 | Service Unavailable | Навмисне не обслуговує — перевантажений або на обслуговуванні.Статус, що повинен нести Retry-After. |
| 504 | Gateway Timeout | Проксі здав очікування поточного сервера. |
| 505 | HTTP Version Not Supported | Версія HTTP у запиті не підтримується. |