Користувачі інтернету, які хоч трохизаглиблювалися в термінологію Мережі (принаймні, велика їх частина), знають, що являє собою протокол HTTP. Даний протокол передачі даних дозволяє користувачам взаємодіяти з веб-ресурсами через браузер. Однією з функцій протоколу є можливість повертати спеціальні коди, що дають користувачам інформацію про стан роботи веб-сайту або статусу виконання того чи іншого завдання. Сюди ж входять і коди помилок HTTP. Коди помилок діляться на два типи: помилки клієнта і помилки сервера. Про ці два категоріях і інших корисних, а головне - часто зустрічаються кодах поговоримо в даному матеріалі.
Помилки HTTP-клієнта
У разі якщо помилка була виявлена на стороніклієнта, сервер повертає йому код з класу 4xx. Якщо на сервері не виявлено будь-яких проблем, але він все ще недоступний користувачеві, то клієнтові відправляється код з поясненням помилки.
Отже, помилки клієнта під кодом 40х:
- 400. Невірний запит - помилка виникає коли сервер зауважує синтаксичну помилку в запиті від клієнта. Вона буде виникати доти, поки з боку клієнта не будуть зроблені відповідні зміни. Необхідно дотримуватися всіх правил передачі даних для використовуваного протоколу.
- 401. Відсутня авторизація - ця помилка означає, що HTTP-сервер вимагає аутентифікації. При цьому саме з боку сервера приходять всі умови для виконання аутентифікації. Причиною виникнення помилки може бути неправильне введене ім'я або пароль для авторизації.
- 402. Необхідно внести плату - код не використовується, але зарезервований в протоколі на майбутнє. Спочатку замислювався як інтерфейс для внесення плати для отримання доступу до конкретного ресурсу. Так як нічого не вийшло, код 402 взяли на озброєння Apple і Google, час від часу застосовують його в своїх веб-сервісах.
- 403. Доступ закритий - помилка виникає коли сервер правильно функціонує, але у користувача, що запитує доступ до нього, недостатньо прав для цього. Часто супроводжується вікном авторизації.
- 404. Not Found (ресурс / файл не знайдений) - найбільш часто зустрічається помилка в інтернеті. Як правило, виникає через помилок при наборі веб-адреси. Часте згадування і поява в Мережі перетворило цей код в популярну в інтернеті жарт.
- 405. Метод заборонений - помилка даних HTTP, які потрібно ввести за допомогою POST або з використанням методу PUT. Іншими словами, помилка виникає при використанні методу GET тоді, коли він недоступний або не підтримує сервером для обробки певних даних.
- 406. Запит не може бути прийнятий - цей код повертається сервером, коли запитуваний контент непридатний до заголовків типу Accept. Найчастіше виникає, коли запитуваний ресурс не відповідає формату, який може бути розпізнаний клієнтом.
- 407. Необхідно ввійти на стороні проксі-сервера - разом з кодом сервер повертає спеціальне поле для авторизації на проксі-сервері.
- 408. Час на запит вийшло - виникає коли сервер припиняє чекати подальші запити з боку клієнта. Повторити запит можна в будь-який час, навіть після того, як час очікування минув.
- 409. Конфлікт - в яких ситуаціях виникає дана помилка HTTP? Завантаження файлу на веб-сервер, де вже збережений ідентичний файл або документ більш нової версії. Система контролю версій файлів, що зберігаються на сервері, не дозволяє замінити файл використовували попередню версію, через що виникає конфлікт під цим кодом.
Помилки клієнта під кодом 41х
- 410. Ресурс видалений - помилка з'являється в тому випадку, якщо запитуваний ресурс розташовувався за вказаною адресою, але був вилучений і більше недоступний.
- 412. Попередні умови не виконані - цей код відображається в тому випадку, якщо умовні поля заголовка не виконуються (зовсім).
- 413. Розмір запиту перевищує допустиму норму - помилка з'являється, коли тіло посланого клієнтом запиту має занадто великий розмір, і сервер не може його обробити.
- 414. Занадто довгий адреса - якщо сервер повертає цей код, значить, URL, вказаний в запиті, занадто довгий і не може бути опрацьований. Також помилка виникає, коли клієнт передає дані через GET замість POST.
- 415. Непідтримуваний формат файлу - помилка виникає, коли сервер відмовляється працювати з певним форматом даних (причина може бути будь-який).
- 417. Збій очікування - заголовок запиту з боку клієнта не задовольняє вимогам поля EXPECT.
- 418 I'm a teapot - вперше з'явився в 1998 році код, який став першоквітневим жартом і ніколи не був задіяний всерйоз.
Помилки клієнта під кодом 42х
- 422.Елемент не може бути оброблений - теоретично сервер може обробити запит, надісланий клієнтом; файл, що знаходиться в тілі запиту, також підтримується (це може бути таблиця і будь-який інший мультимедійний), але з якихось причин виникла логічна помилка, що обмежує діяльність сервера.
- 423. Доступ закритий - використовуваний метод заблокований на стороні сервера. Необхідно використовувати інший метод.
- 424. Помилка залежності - цей код буде відображений в тому випадку, якщо операція, від успішності якої залежить виконання поточної команди, була з тих чи інших причин перервана.
- 425. Неправильний порядок елементів - код відображається в тому випадку, якщо при запиті декількох елементів електронної пошти їх порядок (серверний) не було дотримано.
- 426. Необхідно оновлення - код, що сповіщає про необхідність провести оновлення протоколу. Поля для поновлення повинні бути правильно оформлені на стороні сервера.
- 428. Необхідно завершення залежною операції - за допомогою цього коду сервер сповіщає клієнта про те, що необхідно в запиті задіяти заголовки-умови.
- 429. Занадто велика кількість запитів - помилка виникає в тому випадку, якщо клієнт посилає на сервер занадто багато запитів, що може бути наслідком DDoS-атаки, тому блокується сервером.
Решта коди помилок клієнта
- 431. Перевищення довжини заголовка - при перевищенні довжини заголовка сервер може у відповідь надіслати цей код, але частіше за все він просто скидає з'єднання.
- 434. Адреса недоступний - помилка сигналізує про недоступність запитуваної адреси.
- 449. Повторити - код повертається в тому випадку, якщо сервера для обробки запиту потрібна додаткова інформація.
- 451. Заблоковано з юридичних причин - сервер може бути заблокований в тому випадку, якщо органи державної влади надіслали запит на блокування з різних юридичних причин.
При роботі поза веб-браузера можуть виникати іінші помилки, наприклад критична помилка поновлення HTTP-сервера, але її причини потрібно з'ясовувати у власників програми або програми, в якому виникла проблема.
Помилки HTTP-сервера
Такі коди виникають, коли інсценіруемие операції завершуються невдачею з вини сервера. Подібні помилки відображаються за допомогою кодів 5хх і коротким поясненням помилки.
Помилки сервера під кодом 50х
- 500 Internal Server Error - помилка HTTP-сервера, не піддається ідентифікації. Цим кодом позначається будь-яка помилка, для якої не існує окремо визначеного кодового значення.
- 501.Not Implemented (метод не підтримується) - цей код виводиться сервером, коли використовується метод їм не підтримується. Проблема виникає при роботі з серверами, які не налаштовані на правильну роботу зі стандартними командами HTTP.
- 502. Bad Gateway (помилка шлюзу) - проблема виникає, коли сервер, який виступає в ролі шлюзу, отримує помилковий відповідь з боку «головного» сервера.
- 503. Service Unavailable (сервіс недоступний) - даний код найчастіше з'являється, коли на сервері йдуть технічні роботи або він перезавантажується.
- 504. Gateway Timeout (час проходження через шлюз вийшло) - помилка виникає, коли сервер, що працює в якості шлюзу, не встигає отримати відповідь від «головного» сервера.
- 505. HTTP Version Not Supported (використовувана версія протоколу не підтримується) - вказаний сервер не працює з тією версією протоколу, яка вказана в запиті з боку клієнта.
- 507. Insufficiente Storage (нестача простору) - проблема виникає при нестачі цифрового простору для обробки запиту. Найчастіше проблема має тимчасовий характер.
Помилки сервера під кодом 51х
- 510. Not Extended (відсутній розширення) - помилка з'являється в тому випадку, якщо на сервері немає розширення, яке було запрошено клієнтом.
- 511. Network Authentication Required (необхідна авторизація) - подібна відповідь надсилається немає від самого сервера, а від посередника, в ролі якого виступає провайдер платного точки Wi-Fi.
Інформаційні коди
- 100. Continue (продовження) - цей код сповіщає клієнта про те, що його початкові дії задовольняють вимоги сервера, і він може продовжувати посилати команди.
- 101. Switching Protocols (зміна протоколу) - інтерактивний код, що пропонує замінити використовуваний протокол більш підходящим.
- 102. Processing (в процесі обробки) - код, що сповіщає про те, що запит прийнятий, але на його обробку знадобиться чимало часу.
коди перенаправлення
- 300.Multiple Choices (вибір) - виникає, якщо по наявних посилань можна пройти відразу на кілька ресурсів, розташованих на одному сервері. Разом з кодом надається вибір між різними варіантами. Причому він може бути зроблений як користувачем, так і клієнтом, в залежності від налаштувань сервера.
- 301. Moved Permanently (ресурс переміщено) - код повертається, коли запитуваний ресурс або файл був назавжди переміщено і розташовується за іншою адресою.
- 302. Found (ресурс знайдений) - код повертається, коли запитуваний ресурс або файл був тимчасово переміщений і може бути знайдений за іншою адресою.
- 303.See Other (пошук за іншими адресами) - даний код повертається сервером разом з альтернативним значенням поля Location, щоб користувач з боку клієнта міг отримати доступ до запитуваного ресурсу, використовуючи метод GET.
- 304.Not Modified (файл не змінювався) - помилка виникає, якщо клієнт запросив певний файл, вказавши специфічні атрибути часу модифікації, але сервер не виявив будь-яких змін з моменту його завантаження.
- 305.Use Proxy (необхідно використовувати проксі-сервер) - цей код виводиться сервером, коли для того, щоб отримати доступ до нього, потрібно використовувати проксі-сервер. Адреса останнього вказується в полі Location. Код можуть використовувати тільки базові сервери (НЕ проксі).
- 307. Temporary Redirect (тимчасове перенаправлення) - код виникає, коли запитуваний файл або ресурс стає доступний за іншою адресою. Часто відбувається автоматичне перенаправлення.