Інструмент для розробників

Коди статусу HTTP

Шукайте за номером або назвою. Що означає кожен код і коли його застосовувати.

Коди статусу HTTP Працює на вашому пристрої
  • Працює у вашому браузері — ваш текст нікуди не надсилається
  • Без реєстрації та квот, безкоштовно користуйтеся скільки завгодно

Як це працює

Більшість кодів статусу очевидні, а кілька справді заплутані — особливо ті, що звучать схоже. Введіть число, слово на кшталт forbidden або 4xx, щоб побачити весь клас.

401 і 403 — пара, яку всі плутають

401 Unauthorized насправді означає «неавтентифіковано»: сервер не знає, хто ви, і надсилання облікових даних може допомогти. 403 Forbidden означає, що сервер точно знає, хто ви, але доступу все одно немає. Назви історичні й нічого не пояснюють; різниця важлива, бо один код пропонує увійти, а інший — ні.

301 проти 302 і чому це важливо для SEO

301 — постійне переміщення, воно передає сигнали ранжування на нову адресу. 302 — тимчасове, воно залишає їх на початковій. Використання 302 для постійного переміщення — поширена й непомітно дорога помилка. 307 і 308 — сучасні відповідники, які додатково гарантують, що метод не зміниться: POST залишається POST, чого 301 і 302 історично не робили.

422 для перевірки даних

400 Bad Request означає, що сервер узагалі не зміг зрозуміти запит. 422 Unprocessable Content означає, що він його чудово зрозумів, але вміст неправильний — бракує поля, недійсна адреса електронної пошти. Більшість API мали б повертати 422 для помилок перевірки, а повертають 400 за звичкою.

Класи

1xx — інформаційні, 2xx — успіх, 3xx — перенаправлення, 4xx — вина клієнта, 5xx — вина сервера. Останній поділ стане в пригоді, коли під час інциденту треба розподілити відповідальність: сплеск 4xx означає, що помиляються ті, хто викликає, а сплеск 5xx — що помиляєтеся ви.

418

I'm a teapot — з першоквітневого жарту 1998 року; пізніше його стандартизували всерйоз після того, як спроба прибрати його з реалізацій викликала обурення. Для реального використання він не призначений, але є справжньою частиною специфікації.

Запитання й відповіді

Коди статусу HTTP: запитання

Чим відрізняються 401 і 403?

401 означає, що користувача не автентифіковано: сервер не знає, хто ви. 403 означає, що сервер знає, хто ви, але доступу все одно немає.

Що використовувати: 301 чи 302?

301 — для постійного переміщення, воно передає ранжування. 302 — для тимчасового. Використовуйте 308 і 307, якщо метод HTTP не повинен змінюватися.

Який код має повертати помилка перевірки даних?

422 Unprocessable Content. 400 означає, що запит узагалі не вдалося зрозуміти.

Чи справжній код 418?

Так. Він виник як першоквітневий жарт 1998 року і справді стандартизований, хоча й не для практичного використання.

Що означає 502?

Проксі отримав некоректну відповідь від сервера за ним — зазвичай застосунок не працює або аварійно завершується.