Посібник із помилок HTTP: Як виправити поширені серверні та клієнтські проблеми
Нерідкі ситуації, коли комп'ютер користувача втрачає можливість для отримання інформації або надсилання запитів через втрату з'єднання з сервером. Розрив з'єднання може виникати через занадто великі навантаження на сервер, нестабільне інтернет-з'єднання, неполадки у провайдера, фізичні поломки і т.д. Більшість подібних збоїв називається помилками, що мають спеціальну номенклатуру.
Через помилки з'єднання з сервером може втрачатися важлива інформація та витрачатися час на відновлення підключення, що веде до негативних наслідків для бізнесу: від втрати клієнтської лояльності до необхідності звертатися до фахівців усунення несправностей.
У цій статті ми розберемо основні помилки сервера та клієнта, а також причини їх виникнення. Ми вже частково торкалися цієї теми в публікації з помилок WordPressПроте сьогодні розглянемо проблему ширше.
Що таке коди стану HTTP
Почнемо з ключових для цієї статті термінів: клієнта, сервера та кодів стану HTTP:
- Клієнт – це сукупність ПЗ та пристроїв, здатних підключатися до інтернету та запитувати у сервера ті чи інші функції чи дані.
- Сервер — це пристрій для зберігання даних. Він приймає запити від клієнтів та відповідає на них, а також виконує різні службові функції у мережі.
- Код стану HTTP – це тризначне число у рядку заголовка відповіді веб-сервера на запит клієнта, що інформує про результат запиту та про те, що клієнт має зробити далі. За кодом (наприклад 403 Forbidden) слід пояснення англійською мовою.
Код стану відповіді HTTP інформує про успішність виконання конкретного запиту HTTP. Усього прийнято виділяти 5 класів відповідей від сервера:
- Інформаційні відповіді (100 – 199);
- Успішні відповіді (200 – 299);
- Повідомлення про перенаправлення (300 – 399);
- Помилки клієнта (400 – 499);
- Помилки сервера (500 – 599).
Клієнт може бути не знайомий з тим чи іншим кодом відповіді HTTP, однак він повинен відреагувати відповідно до категорії коду. Нас цікавлять останні дві з них – помилки клієнта та помилки сервера.
Зверніть увагу на те, що коди помилок HTTP видає програму, яка обслуговує запити клієнта. Іншими словами, від того, як це ПЗ обробляє ту чи іншу помилку, залежить який саме код буде їй присвоєний.
Аналіз журналу серверів Apache та Nginx і дозволяє краще зрозуміти процеси обробки запитів. Необхідні відомості можна знайти у файлах access.log та error.log.
Помилки клієнта
Існує 100 основних помилок клієнта, проте найпоширенішими є лише перші з них, які ми докладно розглянемо нижче.
400 Bad Request
Ця помилка виникає, коли сервер не в змозі обробити запит через щось, що сприймається як помилка клієнта, що його посилає. Йдеться про помилку в синтаксисі, неправильному форматі або маршрутизації запиту.
Є багато причин, через які виникає помилка 400, проте найчастіше справа в:
- Несправності браузера (лікується оновленням, переустановкою тощо).
- Надмірна кількість файлів cookie та важкий кеш (допомагає очищення кеша та cookie в історії браузера).
- Неправильний HTTP-запит через помилку клієнта (наприклад, при використанні cURL).
401 Unauthorized
З такою помилкою користувач може зіткнутися, коли клієнт запитує доступ до перегляду ресурсу, захищеного HTTP-авторизацією. Для того, щоб позбавитися появи помилки від клієнта потрібно ввести актуальні логін (ID користувача) і пароль. Знайти їх можна у файлі .htpasswd, який зазвичай використовується при захисті файлу, папки або всього веб-сайту за допомогою пароля за допомогою HTTP-автентифікації.
403 Forbidden
Ця помилка виникає, коли клієнт не авторизований і через це немає прав доступу до ресурсу. На відміну від 401 Unauthorized сервер ідентифікує особистість клієнта, проте відмовляється надати запитаний ресурс через відсутність прав на, наприклад, доступ до читання будь-якого файлу.
Якщо ваш сайт створено на сервері під керуванням Windows Server, то, швидше за все, ви зіткнулися з проблемами з індексним файлом. Вам потрібно розмістити файл index.php у кореневій папці. Це робиться через Control Panel => Web Options => Directory Indexes.
Також помилка 403 може з'являтися в ситуації встановлення заборони за допомогою файлу .htaccess для доступу до ресурсів з певних IP-адрес – рекомендується перевіряти налаштування .htaccess для того, щоб уникнути подібних проблем.
404 Not Found
Одна з найпопулярніших помилок: сервер надсилає таку відповідь, коли не може знайти ресурс, який запитує клієнт. Причин виникнення помилки 404 може бути кілька:
- Якщо запит робиться через браузер, проблема може полягати в розпізнаванні URL-адреси сайту. Переконайтеся в правильності написання посилання, яке надсилає клієнта на сервер, а також у тому, що клієнт вводить вірну URL-адресу. Якщо це не допомагає, перевірте, чи сервер підтримує символічні посилання.
- У разі запиту через API адреса може бути вказана правильно, проте ресурс дійсно не існувати. (наприклад, запитуваний файл міг бути переміщений в інший каталог або видалено з сервера). Не зайвим буде перевірити і чи правильно коректно зазначено розташування кореневого каталогу (document root) у конфігурації сервера.
- Також можливий варіант, при якому сервер відправляє 404 замість 403 Forbidden з метою приховування існування ресурсу від неавторизованих користувачів. Тобто. Користувач може не вистачати прав доступу до певного каталогу або файлу. Проблема вирішується наданням необхідних прав.
405 Method Not Allowed
Ще одна поширена помилка клієнта, що виникає у ситуаціях, коли HTTP-метод запиту відомий серверу, проте не підтримується цільовим ресурсом. Як приклад можна навести ситуацію, коли API не дозволяє викликати DELETE видалення ресурсу.
Помилки сервера
Тепер докладно розглянемо основні помилки сервера, з якими стикаються відвідувачі сайтів.
500 Internal Server Error
Помилка сервера 500 повідомляє про наявність невідомих внутрішніх причин з яких сервер не може виконати запит користувача. Іноді цей код помилки приходить у ситуаціях, що описуються іншими помилками категорії 500 – 599.
Серед основних причин появи внутрішньої помилки сервера 500 можна назвати недостатні права доступу читання тих чи інших каталогів і файлів, у результаті стає неможливим запуск необхідного скрипта.
Інша причина – непідтримувані директиви або неправильні інструкції у файлі .htaccess.
501 Not Implemented
Помилка, споріднена: 405 Method Not Allowed.Виникає, коли сервер не може опрацювати запит, тому що не підтримує його метод. Необхідно, щоб два основних методи запитів із дев'яти існуючих — GET (запит інформації про ресурс) та HEAD (запит заголовків ресурсу) — завжди підтримувалися сервером і, отже, не повертали цей код.
502 Bad Gateway
Помилка 502 Bad Gateway, як правило, виникає через отримання некоректної відповіді від сервера, що стоїть за ієрархією. Іншими словами, 502 може прийти від сервера, що виступає як шлюз, якщо в ході обробки запиту він отримав неприпустиму відповідь від цільового сервера.
Для вирішення проблеми спробуйте перезапустити служби сервера, почистити кеш та куки; переконайтеся у відсутності проблем із браузером. Іноді до помилки 502 приводячи проблеми з сервером DNS і в такому випадку рекомендується змінити його.
503 Service Unavailable
Ще одна поширена помилка, що повідомляє про те, що сервер не може обробити запит. Як правило, це пов'язано з технічними роботами на сервері або піковими навантаженнями. Хорошим тоном з боку власників ресурсів є надсилати користувачам разом із кодом помилки інформацію про характер проблеми та часом до її усунення. Також у заголовках є сенс вказувати інформацію про кешування, т.к. піддавати йому ці часові відповіді не потрібно.
504 Gateway Timeout
Помилка 504 може надіслати сервер, який виступає шлюзовим, якщо в процесі обробки запиту він не зміг вчасно отримати відповідь від цільового сервера. Серед причин появи помилки сервера 504 можна назвати:
- мережні проблеми: наприклад, між основним сервером і шлюзом нестабільне інтернет-з'єднання;
- перевантаження сервера-шлюзу, з якого він може коректно обробляти запити;
- занадто короткий період очікування відповіді від шлюзу (можна змінити налаштування сервера).
505 HTTP Version Not Supported
Помилка, за допомогою якої сервер повідомляє, що він не підтримує протокол HTTP, що використовується клієнтом. Якщо стандартні заходи (очищення кешу, оновлення мережних драйверів, видача браузеру більше прав у брандмауері та антивірусі) не допомагають, то проблема стороні сервера, а не клієнта. У цьому випадку власникам ресурсу потрібно задуматися про те, щоб оновити програмне забезпечення сервера і переналаштувати його. У крайньому випадку завжди можна змінити хостинг. У «Максиплейс» ви можете отримати готовий сервер у хмарі за кілька хвилин без капітальних стартових вкладень, приміщення та інженерів.
Як перевіряти коди помилок HTTP
Існують як вбудовані в браузер інструменти, так і спеціальні сервіси, що дозволяють перевіряти коди помилок стану HTTP.
- Браузерні інструменти. Розглянемо цей спосіб на прикладі Google Chrome. Тут ознайомитися з кодом відповіді можна переглянути у графі Status у розділі Network. Алгоритм наступний: відкрийте потрібну сторінку та натисніть F12, після чого з'явиться вікно з консоллю та потрібною інформацією.
- Спеціалізовані послуги. Серед таких сервісів можна назвати bertal, 2ip, cy-pr, whois, 4seo. Алгоритм роботи з ними, як правило, наступний: на сайті сервісу потрібно поле вводяться URL потрібних сайтів і запускається перевірка, після чого на екрані з'являється звіт з кодами відповіді серверів.
Резюме
У цій публікації ми розповіли про коди стану HTTP, зосередившись на основних помилках клієнта, помилках сервера, причинах їх появи та способах усунення.Резюмуючи, ще раз скажемо, що причина помилок може критися в неправильній конфігурації сервера, проблемах з БД, дірками безпеки і т.д.
На стороні власника сайту необхідно своєчасно проводити діагностику та перевіряти серверні параметри для того, щоб у відвідувачів ресурсу не виникало проблем із доступом до нього. Не забувайте, що коректне налаштування сервера – одночасно запорука стабільності ваших бізнес-процесів і непросте завдання, довірити рішення якого краще професіоналам. Кваліфіковані інженери, які працюють у «Максиплейс» охоче запропонують вам свою допомогу усунення будь-яких помилок на сервері, а також усі види технічного консалтингу.
Стаття додана 8 місяців тому. Автор – Blog Admin
Втрата з'єднання з сервером через різні помилки призводить до того, що комп'ютер користувача не може отримувати необхідну інформацію або надсилати запити. Причинами збою можуть бути: високе навантаження на server, ненадійне інтернет-підключення, проблеми в мережі або роботі провайдера, технічні проблеми і т.д. буд. Помилки з'єднання з сервером часто ведуть до втрати інформації та витрати часу на відновлення підключення та даних, нервового перенапруги користувача, несприятливих наслідків для бізнесу (в т. ч. репутаційних ризиків), додаткових витрат при зверненні за спеціальною допомогою.
Як виправити помилку підключення до сервера
Користувач може самостійно виправити помилку підключення до сервера:
- Оновити сторінку.
- Переконайтеся в правильності набору URL.
- Перевірити з'єднання з Інтернетом.
- Перезапустити веб-браузер.
- Перезавантажити роутер.
- Перевірити актуальність оновлень ПЗ.
- Спробувати виявити шкідливі файли за допомогою антивірусу.
- Тимчасово деактивувати фаєрвол та антивірусний софт.
Якщо не допомогли вищеописані події, залишається перевірити працездатність сервера – звернутися до його адміністратора, на техпідтримку або знайти потрібні відомості в інтернеті.
Проблеми на стороні клієнта (4**)
Для зручності введені спеціальні коди, що пояснюють, що трапилося з надісланими браузером даними. Причетними до помилок можуть бути обидва учасники інтернет-підключення — і клієнт, і server.
| Код | Повідомлення | Опис | Що робити |
|---|---|---|---|
| 400 | Bad Request | Нездатність сервера правильно зробити обробку запиту користувача внаслідок порушення принципів оформлення HTTP-синтаксису | Користувачеві перед наступним запитом усунути несправності |
| 401 | Unauthorized | Неможливість зв'язатися з сервером через введення неправильних авторизаційних даних | Користувачу перевірити коректність зв'язки «логін-пароль» |
| 402 | Payment Required | Доступ до серверів платний, необхідно оплатити | Код практично не використовується, можливо, буде працювати в майбутньому при оплаті контенту |
| 403 | Forbidden | Неможливість підключення до сервера не допомагає корекція ні синтаксису запиту, ні облікових даних. | Вирішити проблему на стороні власників server |
| 404 | Not Found | Сторінка не існує, швидше за все, її вже прибрали з сайту | Користувачу перевіряти ще раз коректність посилання |
| 405 | Method Not Allowed | Немає дозволу на метод, який застосовується при надсиланні запитуваних даних | Користувачу перевірити спосіб, який він використовує.Наприклад, якщо користувач вводить відомості у форму за допомогою GET у той час, як вона функціонує виключно з POST, запит не буде оброблений (та інші аналогічні випадки) |
| 406 | Not Acceptable | В клієнта не вдається розпізнати контент на сайті. Причина – неправильний спосіб стиснення або формат сторінки, а також неправильні параметри кодування | Власнику server налаштувати надання користувачеві даних так, як їх здатний обробити його веб-браузер |
| 407 | Proxy Authentication Required | Як і в 401, невірна авторизація, але не на головному сервері, а на проксі між «клієнт» та server | Користувачеві вивчити відомості на екрані та коректно пройти авторизацію |
| 408 | Request Timeout | Server скидає з'єднання після надто довгих та марних спроб завантаження інтернет-ресурсу | Користувачу необхідно перевірити мережеве з'єднання або звернутися до адміністраторів сервера |
| 409 | Conflict | Server отримує дані, що запитуються клієнтом, у невідповідному вигляді | Наприклад, користувач завантажує на server файл, але останній там вже є, причому в більш актуальній версії. Збій буде легко усунений при завантаженні правильної версії |
| 410 | Gone | Те саме, що й 404, але з однією відмінністю — повідомляє, що сторінка зникла з цієї адреси назавжди | Користувачу можна зробити перезавантаження сторінки. При повторі помилки слід закрити сайт – тут нічого немає і не буде |
| 411 | Length Required | Сервер не здатний обробити інформацію від користувача внаслідок невизначеності заголовка Content-Length | ІТ-фахівцям необхідно виправити помилку |
| 412 | Precondition Failed | Запит користувача відхилений | Айтішнику необхідно коректно налаштувати функціонування методів, відмінних від HEAD і GET |
| 413 | Payload Too Large/ Request Entity Too Large | Запит користувача надмірно об'ємний | Для обходу обмежень достатньо змінити параметри сервера |
| 414 | URI Too Long | Перевищення довжини ідентифікатора інтернет-ресурсу URI | Власникам сайтів слід звернути увагу – неполадки іноді з'являються при атаках хакерів на інтернет-ресурс |
| 415 | Unsupported Media Type | Server розриває підключення через невідповідний формат відомостей, що завантажуються клієнтом | Слід змінити формат або налаштування server |
| 416 | Range Not Satisfiable | Невідповідність відомостей, розміщених на сервері, заздалегідь заданим параметрам даних, що надходять від користувача | Користувачеві потрібно переглянути параметри запиту і скинути деякі налаштування (наприклад, розмір даних, що запитуються) |
| 417 | Expectation Failed | Очікування сервера, розміщені в заголовку Expect, не відповідають відомостям у запиті користувача | Користувач повинен ознайомитися з очікуваннями сервера, щоб усунути помилку |
| 421 | Misdirected Request | Запит клієнта перенаправлений на server, не здатний обробити його або дати відповідну відповідь | Користувач повинен перепідключитися до сайту або використовувати інше інтернет-з'єднання |
| 422 | Unprocessable Entity | Запит сервером прийнятий, зрозумілий, але не оброблений | Користувач повинен знайти логічну помилку у запиті та виправити її |
| 423 | Locked | Сайт знаходиться під захистом, і server з метою безпеки блокує методи клієнта | Для отримання інформації користувач повинен отримати авторизаційні дані |
| 424 | Failed Dependency | Сервер розриває з'єднання, коли здатний обробити ще одне чи кілька паралельних дій клієнта. Те саме відбувається при некоректній обробці попередніх запитів | Якщо не вдається перепідключитися, користувачеві потрібно зв'язатися з адміністрацією server |
| 425 | Too Early | Server побоюється "атаки повторного відтворення" і не бере в обробку запит, який можна швидко запустити заново | Користувачеві потрібно заново запитати інформацію або зв'язатися з адміністрацією server |
| 426 | Upgrade Required | Server вимагає від клієнта використати актуальний протокол | Користувачу необхідно встановити останню версію веб-браузера |
| 428 | Precondition Required | Server не здатний видати клієнту коректні чи актуальні відомості | Користувачу необхідно заздалегідь внести в запит параметри обробки даних |
| 429 | Too Many Requests | Сервер розглядає поведінку користувача як підозрілі внаслідок того, що останній багато разів за нетривалий час запитує відомості. | Користувачеві слід запитувати інформацію рідше |
| 431 | Request Header Fields Too Large | Запит неможливо обробити через надмірно довгі заголовки | Користувачу потрібно скоротити заголовки |
| 444 | No Response | Застосовується в log-файлах — підтверджує відсутність реакції сервера на запит користувача. | |
| 449 | Retry With | Застосовують у продуктах Майкрософт Server не здатний прийняти запит внаслідок некоректно зазначених параметрів. | Користувачеві необхідно виправити запит відповідно до чинних вимог |
| 450 | Blocked by Windows Parental Controls | Код функції "Батьківський контроль" від "Майкрософт" Його бачать діти, які намагаються відвідати заблокований сайт. | Для усунення помилки користувачу потрібно скоригувати параметри родконтролю |
| 451 | Unavailable For Legal Reasons | Доступ до онлайн-ресурсу заблоковано відповідно до законодавства | Користувачу необхідно поцікавитися змінами у діяльності держави чи інтернет-провайдера |
Що таке внутрішня помилка сервера 500
Коди помилок у вигляді «5**» повідомляють, що веб-браузер відправив коректний запит, але сервер не зміг його обробити. Дуже поширена помилка 500, коли сервер не виявляє причини проблеми. Застосовується будь-який опис збою – від тимчасової, внутрішньої та непередбаченої помилки до повідомлення англійською мовою. Це залежить від власника сайту, який сам створює сторінку про появу неполадок та вибирає її дизайн.
Дії користувача
Причиною помилки 500 можуть бути не тільки збої сервера, але й незначні навантаження сайту. Користувачеві необхідно перезавантажити сторінку, очистити cache та cookies. Коли код 500 виходить при покупках в онлайн-магазині, потрібно перевірити, чи оформлення завершилося, інакше можна створити кілька замовлень. Жодні дії не змогли усунути збій? Значить, річ у некоректній роботі сервера. Необхідно чекати, коли адміністрація налагодить код сайту або скоригує налаштування веб-хостингу.
Що робити власнику інтернет-ресурсу
Коли алгоритми пошукових систем сканують сайт на доступність та засвідчуються в коректній роботі сторінок, відбувається аналіз контенту. Потім формуються запити, які допомагають знайти інтернет-портал у пошуку. При виявленні на сайті помилки 500 статусу сторінки не змінюється протягом доби з часу останнього сканування. Це максимальний термін для виправлення неполадок, інакше після чергової перевірки робот виключить сайт з пошукової видачі.
Помилка підключення до SQL-сервера
Помилки можуть виникати і під час підключення до SQL Server.У повідомленні говориться, що сервер неможливо знайти або він недоступний, а при з'єднанні з'явилася помилка, зумовлена некоректною роботою мережі або певного екземпляра, а також час очікування підключення. Все, що може користувач, – перевірити, чи вірно вказані ім'я ПК, айпі-адреса, номер порту і чи дозволені на SQL-сервері віддалені з'єднання. Також поширена помилка Windows 233, що говорить про відсутність процесу протилежному кінці каналу, т.к. до. SQL Server не може прослухати протоколи.
Висновок
У статті було розглянуто основні типи помилок сервера, їх причини та способи усунення. Помилки можуть бути викликані різними проблемами: неправильна конфігурація сервера, проблеми з базою даних, безпекою та іншими. Для усунення помилок необхідно провести діагностику та перевірити параметри сервера. Важливо пам'ятати, що його правильне налаштування є ключовим фактором стабільної роботи. Співробітники компанії «Айті Спектр» готові запропонувати вам свою допомогу у вирішенні різних помилок, а також всі види ІТ-підтримки.
Наскільки публікація корисна?
Натисніть на зірку, щоб оцінити!
Середня оцінка 2.5 / 5. Кількість оцінювань: 6
Оцінок наразі немає. Поставте оцінку першим.