База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Коди помилок HTTP: повний список помилок сервера

Коди помилок HTTP: повний список помилок сервера


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

Що таке код відповіді HTTP

Код відповіді HTTP — це мова веб-серверів, яка перетворює запити браузера на зрозумілі інструкції. Це як поет, який відповідає на віртуальні запитання, надаючи їм значення та напрямок. Коди відповіді не завжди є кодами помилок HTTP. Наприклад, «200 OK» означає, що все в порядку, але помилка HTTP «404 не знайдено» означає, що сторінка втрачена у віртуальному просторі. Кожен код є унікальним вираженням стану сервера, розшифровка якого дозволяє нам зрозуміти, що відбувається по той бік віртуального світу.

1xx коди (інформація)

Коди статусу 1xx в протоколі HTTP є свого роду першою ланкою в діалозі між сервером і клієнтом. Замість повної відповіді на запит вони надають інформацію про поточний статус, що робить обмін даними більш ефективним. Давайте розглянемо їх ближче:

100 Продовжити . Код відповіді HTTP, у якому сервер дає зелене світло користувачеві, дозволяючи йому безпечно продовжити надсилання великого запиту.

101 Перемикання протоколів . Сервер повідомляє клієнту, що він змінює правила гри, наприклад, переходить з HTTP на більш безпечний HTTPS. У цьому випадку для зміни протоколу використовується заголовок «Upgrade».

102 Обробка . Цей код схожий на повідомлення про те, що сервер прийняв запит, але все ще зайнятий складною операцією.

103 Ранні підказки . Тут сервер надсилає клієнту кілька орієнтовних заголовків перед основною відповіддю, попереджаючи про щось, що може бути актуальним найближчим часом.

2xx код (успішно)

Коди помилок HTTP в групі 2xx вказують на успішний запит від сервера. Вони, по суті, є «зеленим світлом» у сфері веб-комунікацій, підтверджуючи, що все йде за планом і успішно завершено.

200 OK . Цей статус використовується, коли сервер без проблем обробляє запит методом GET і повертає запитувані дані у відповідь. Заголовок "Content-Type" повідомляє тип вмісту у відповіді. Він просто інформує клієнта про те, що запит був успішним.

201 Створено . Тут сервер оголошує про створення нового ресурсу.

202 Прийнято . Сервер повідомляє користувачеві, що запит прийнято, але для відповіді знадобиться час.

203 Неофіційна інформація . Цей код надає клієнту дані, які можуть бути неофіційними, але можуть бути використані для порівняння.

204 Немає вмісту . Сервер обробив запит, але не повертає жодного додаткового вмісту.

205 Скинути вміст . Тут клієнту надається інструкція скинути поточний вигляд або дані після надсилання.

206 Частковий вміст . Цей випадок вказує на те, що відповідь містить лише частину запитуваного вмісту. Заголовок "Content-Range" вказує на частковий діапазон вмісту.

207 Багатоетапний стан. Сервер успішно виконав багатоопераційний запит від клієнта, і відповідь містить інформацію про стан кожної з операцій.

226 Використано IM . Цей код вказує на те, що сервер використав метод інкрементальних метаданих (IM) і відповів, передавши клієнту лише змінені частини ресурсу.

3xx коди (перенаправлення)

Коди 3xx у протоколі HTTP схожі на покажчики, які направляють користувача до нового місця розташування ресурсу. Вони повідомляють клієнта про те, що для отримання потрібного вмісту або перенаправлення на інший ресурс необхідно вжити подальших заходів. Давайте зануримося в подробиці кожного з них:

300 варіантів . Клієнт отримує сигнал про те, що існує кілька можливих місць розташування ресурсу, і йому надається вибір у відповідь. За поточних обставин заголовок «Розташування» може вказувати на альтернативні варіанти для ресурсу.

301 Переміщено назавжди. Сервер повідомляє користувачеві, що ресурс було переміщено назавжди в інше місце.

Знайдено 302. Цей HTTP-код схожий на тимчасове перенаправлення. Сервер повідомляє споживачеві, що ресурс тимчасово доступний за іншою URL-адресою. Заголовок "Location" вказує на нову URL-адресу для тимчасового перенаправлення.

303 Див. Інше . Клієнту повідомляють, що ресурс доступний за іншою URL-адресою, і він повинен зробити GET-запит на цю нову адресу.

304 Не змінено . Цей статус повідомляє клієнту, що ресурс залишився незмінним з моменту останнього запиту та не потребує повторного завантаження. Під час надсилання запиту використовується заголовок "If-Modified-Since" для перевірки, чи був ресурс змінений.

305 Використовувати проксі-сервер. У відповідь сервер повідомляє, що для доступу до запитуваного ресурсу слід використовувати вказаний проксі-сервер.

306 (зарезервовано) — Код зарезервовано, але фактично він не використовується.

307 Тимчасове перенаправлення . Цей код схожий на 302 Found, але вимагає, щоб клієнт залишався в методі запиту, який використовувався в початковому запиті.

308 Постійне перенаправлення . Вказує на те, що ресурс здійснив постійне переміщення до нового URI, і клієнт повинен використовувати новий URI для всіх майбутніх запитів.

Помилка HTTP 4xx (помилки клієнта)

Коди помилок HTTP 4xx вказують на помилки клієнта. Це означає, що проблема на стороні користувача, наприклад веб-браузера або програми.

400 Неправильний запит . Сервер не може обробити запит через синтаксичні помилки, недійсні дані або інші помилки на стороні клієнта.

401 Неавторизовано. Сервер не може обробити запит через синтаксичні помилки, недійсні дані або інші помилки на стороні клієнта.

402 Потрібна оплата . Код наразі неактивний і зарезервований для подальшого використання. Це може свідчити про необхідність оплати перед доступом до ресурсу в майбутньому.

Помилка HTTP 403. Заборонено. Клієнт не має достатніх прав для доступу до запитуваного ресурсу.

404 Не знайдено. Запитаний ресурс не існує на сервері. Це одна з найпоширеніших помилок користувачів.

405 Метод не дозволено . Сервер не підтримує вказаний метод запиту під час цього ресурсу. Заголовок «Дозволено» вказує на дозволені методи для ресурсу. За допомогою цього коду,

406 Неприйнятно. Сервер не може надати дані у форматі, який може бути прийнятий клієнтом.

407 Потрібна автентифікація проксі-сервера . Для доступу до запитуваного ресурсу потрібна автентифікація на проксі-сервері.

408 Час очікування запиту минув . Сервер очікував отримання запиту від клієнта, але час очікування минув. Заголовок "Retry-After" може вказувати час, після якого запит можна повторити.

409 Конфлікт. Запит неможливо виконати через конфлікт із поточним станом ресурсу.

410 Зник . Запитаний ресурс раніше існував, але тепер його видалено, і його відновлення не очікується.

411 Обов'язкова довжина . Сервер вимагає вказати довжину контенту в запиті; відсутність цієї інформації вважається помилкою.

412 Не вдалося виконати передумову . Передумова в запиті не виконана, що перешкоджає його виконанню.

413 Корисне навантаження занадто велике . Розмір даних запиту перевищує обмеження сервера.

414 URI занадто довгий . Довжина URI в запиті перевищує допустимі межі.

415 Непідтримуваний тип медіа . Сервер не може обробити тип даних, наданий у запиті.

416 Діапазон недоступний . Помилка HTTP, коли запитуваний діапазон не відповідає поточним даним сервера.

417 Очікування не виконано . Очікувана умова в заголовку "Очікування" не виконана.

418 Я чайник . Цей код включено як жарт і не передбачає жодних реальних дій для користувача чи сервера, а також не є повноцінною помилкою. Він вказує на те, що сервер є чайником і не здатний готувати каву.

421 Неправильно спрямований запит . Сервер не обробляє запит через помилку в запиті або конфігурації сервера.

422 Необроблювана сутність . Сервер розуміє запит, але не обробляє його через помилки даних.

423 Заблоковано. Ресурс заблоковано та не може бути оброблений.

424 Помилка залежності . Запит залежить від іншого невиконаного запиту.

425 Занадто рано. Сервер не готовий обробити запит через його ранню надходження.

426 Потрібне оновлення . Серверу потрібне використання більш просунутого протоколу для обробки запиту.

428 Необхідна попередня умова . Сервер вимагає, щоб у запиті було зазначено певні попередні умови.

429 Забагато запитів . Клієнт надіслав забагато запитів за короткий час, що перевищує обмеження сервера.

431 Поля заголовка запиту занадто великі . Заголовки запиту перевищують максимально дозволений розмір.

449 Повторити з. Вказує на те, що запит не може бути виконаний поточним сервером, але може бути успішно оброблений іншим сервером, і клієнт повинен повторити запит з новим URI.

451 Недоступно з юридичних причин . Ресурс недоступний з юридичних причин.

499 Запит клієнта закрито . Сервер отримав запит, але з'єднання було закрито клієнтом до завершення обробки.

Помилка HTTP 5xx (помилки сервера)

Коди помилок HTTP 5xx вказують на проблеми сервера. Ці коди вказують на проблеми, які виникли на стороні сервера, через що сервер не може обробити запит користувача належним чином. Давайте розглянемо їх ближче:

Помилка HTTP 500. Внутрішня помилка сервера . На сервері виникли непередбачувані обставини, які перешкоджають завершенню запиту. Заголовок "Сервер" може вказувати на сервер, на якому сталася помилка.

501 Не реалізовано . Сервер не підтримує функціональність, необхідну для обробки запиту клієнта. Заголовок "Via" може вказувати на проксі-сервер, через який сталася помилка.

502 Bad Gateway . Цей код означає, що сервер, який виконує роль проксі-сервера, отримав неправильну відповідь від іншого сервера.

Помилка HTTP 503. Служба недоступна . Сервер тимчасово не може обробляти запити.

504 Час очікування шлюзу . Сервер, який діє як проксі-сервер, не отримав своєчасної відповіді від іншого сервера.

505 Версія HTTP не підтримується . Сервер не підтримує версію протоколу HTTP, зазначену в запиті. Як резервний варіант, заголовок "Upgrade" може вказувати на підтримувані протоколи.

506 Варіант також узгоджує . Цей статус не використовується в HTTP/1.1; однак, якщо сервер виявляє внутрішню конфігурацію, яка призводить до неоднозначності узгодження вмісту, він може використовувати цю відповідь.

507 Недостатньо місця для зберігання . Сервер не може виконати запит через недостатню кількість місця для зберігання на сервері.

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

509 Перевищення ліміту пропускної здатності . Помилка виникає, коли пропускна здатність сервера перевищена через великий обсяг запитів або трафіку.

510 Не продовжено . Клієнт повинен передати додаткові розширення, щоб продовжити запит.

511 Потрібна автентифікація мережі . Клієнт повинен автентифікувати себе, щоб отримати доступ до мережі.

Як перевірити код статусу сторінки

У цьому розділі ми розглянемо три основні способи перевірки коду стану сторінки: через командний рядок, за допомогою веб-браузера та за допомогою незалежних онлайн-сервісів. Кожен із цих методів має свої переваги та може бути корисним у різних ситуаціях.

Перевірка відповіді сервера через командний рядок

Командний рядок забезпечує зручний спосіб перевірити код стану сторінки без використання веб-браузера. Для цього методу вам потрібно відкрити командний рядок і скористатися командою:

curl -I http://page-address

Ця команда надсилає запит HEAD (запит лише заголовків) на вказану URL-адресу та відображає інформацію, включаючи код статусу HTTP:

Перевірка коду відповіді HTTP сервера Curl

Наведений вище приклад показує успішний код відповіді. У разі відповіді, яка містить код помилки, як-от помилка HTTP 404 Not Found, результат виглядатиме приблизно так:

Код помилки HTTP Error 404 Not Found

Перевірка відповіді сервера через консоль браузера

Консоль розробника веб-браузера надає інструменти для виконання різних операцій, включаючи перевірку коду статусу сторінки. Щоб побачити код HTTP у відповіді сервера, вам потрібно відкрити консоль розробника (Ctrl+Shift+K) або (Ctrl+shift+J) залежно від використовуваного браузера. Далі виберіть розділ «мережа» і завантажте потрібну сторінку:

Діагностика коду відповіді HTTP сервера браузера

Перевірка відповіді сервера за допомогою незалежних інструментів

Існує велика кількість незалежних онлайн-сервісів, які надають інструменти для перевірки коду стану сторінки веб-сайту. Ці сервіси зазвичай дозволяють швидко отримати огляд доступності та продуктивності вашого ресурсу. Всі вони працюють за одним принципом. Як приклад, розглянемо найпопулярніший ресурс – httpsstatus.io.

Перш за все, вам потрібно відкрити сам сервіс, потім ввести адресу сторінки, відповідь на яку потрібно дізнатися, і запросити перевірку:

Код відповіді сервера HTTP для незалежних служб

Результат буде відображено внизу сторінки:

Успішний код відповіді сервера HTTP

Висновок

На закінчення слід підкреслити, що розуміння та вміння читати коди помилок HTTP є ключовим навиком для всіх, хто займається веб-розробкою та обслуговуванням серверів. Виявляючи кожну помилку та досліджуючи інструменти для їх виявлення, ми бачимо причини, чому так важливо ефективно керувати цими аспектами веб-служб.

❮ Попередня стаття Як перевірити поштовий сервер
Наступна стаття ❯ Як додати додаткову IP-адресу до сервера Windows

Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.