Посібник із помилок 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

Посібник із помилок HTTP: Як виправити поширені серверні та клієнтські проблеми - Druzhba

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

Як виправити помилку підключення до сервера

Користувач може самостійно виправити помилку підключення до сервера:

  • Оновити сторінку.
  • Переконайтеся в правильності набору URL.
  • Перевірити з'єднання з Інтернетом.
  • Перезапустити веб-браузер.
  • Перезавантажити роутер.
  • Перевірити актуальність оновлень ПЗ.
  • Спробувати виявити шкідливі файли за допомогою антивірусу.
  • Тимчасово деактивувати фаєрвол та антивірусний софт.

Якщо не допомогли вищеописані події, залишається перевірити працездатність сервера – звернутися до його адміністратора, на техпідтримку або знайти потрібні відомості в інтернеті.

Проблеми на стороні клієнта (4**)

Для зручності введені спеціальні коди, що пояснюють, що трапилося з надісланими браузером даними. Причетними до помилок можуть бути обидва учасники інтернет-підключення — і клієнт, і server.

КодПовідомленняОписЩо робити
400Bad RequestНездатність сервера правильно зробити обробку запиту користувача внаслідок порушення принципів оформлення HTTP-синтаксисуКористувачеві перед наступним запитом усунути несправності
401UnauthorizedНеможливість зв'язатися з сервером через введення неправильних авторизаційних данихКористувачу перевірити коректність зв'язки «логін-пароль»
402Payment RequiredДоступ до серверів платний, необхідно оплатитиКод практично не використовується, можливо, буде працювати в майбутньому при оплаті контенту
403ForbiddenНеможливість підключення до сервера не допомагає корекція ні синтаксису запиту, ні облікових даних.Вирішити проблему на стороні власників server
404Not FoundСторінка не існує, швидше за все, її вже прибрали з сайтуКористувачу перевіряти ще раз коректність посилання
405Method Not AllowedНемає дозволу на метод, який застосовується при надсиланні запитуваних данихКористувачу перевірити спосіб, який він використовує.Наприклад, якщо користувач вводить відомості у форму за допомогою GET у той час, як вона функціонує виключно з POST, запит не буде оброблений (та інші аналогічні випадки)
406Not AcceptableВ клієнта не вдається розпізнати контент на сайті. Причина – неправильний спосіб стиснення або формат сторінки, а також неправильні параметри кодуванняВласнику server налаштувати надання користувачеві даних так, як їх здатний обробити його веб-браузер
407Proxy Authentication RequiredЯк і в 401, невірна авторизація, але не на головному сервері, а на проксі між «клієнт» та serverКористувачеві вивчити відомості на екрані та коректно пройти авторизацію
408Request TimeoutServer скидає з'єднання після надто довгих та марних спроб завантаження інтернет-ресурсуКористувачу необхідно перевірити мережеве з'єднання або звернутися до адміністраторів сервера
409ConflictServer отримує дані, що запитуються клієнтом, у невідповідному виглядіНаприклад, користувач завантажує на server файл, але останній там вже є, причому в більш актуальній версії. Збій буде легко усунений при завантаженні правильної версії
410GoneТе саме, що й 404, але з однією відмінністю — повідомляє, що сторінка зникла з цієї адреси назавждиКористувачу можна зробити перезавантаження сторінки. При повторі помилки слід закрити сайт – тут нічого немає і не буде
411Length RequiredСервер не здатний обробити інформацію від користувача внаслідок невизначеності заголовка Content-LengthІТ-фахівцям необхідно виправити помилку
412Precondition FailedЗапит користувача відхиленийАйтішнику необхідно коректно налаштувати функціонування методів, відмінних від HEAD і GET
413Payload Too Large/ Request Entity Too LargeЗапит користувача надмірно об'ємнийДля обходу обмежень достатньо змінити параметри сервера
414URI Too LongПеревищення довжини ідентифікатора інтернет-ресурсу URIВласникам сайтів слід звернути увагу – неполадки іноді з'являються при атаках хакерів на інтернет-ресурс
415Unsupported Media TypeServer розриває підключення через невідповідний формат відомостей, що завантажуються клієнтомСлід змінити формат або налаштування server
416Range Not SatisfiableНевідповідність відомостей, розміщених на сервері, заздалегідь заданим параметрам даних, що надходять від користувачаКористувачеві потрібно переглянути параметри запиту і скинути деякі налаштування (наприклад, розмір даних, що запитуються)
417Expectation FailedОчікування сервера, розміщені в заголовку Expect, не відповідають відомостям у запиті користувачаКористувач повинен ознайомитися з очікуваннями сервера, щоб усунути помилку
421Misdirected RequestЗапит клієнта перенаправлений на server, не здатний обробити його або дати відповідну відповідьКористувач повинен перепідключитися до сайту або використовувати інше інтернет-з'єднання
422Unprocessable EntityЗапит сервером прийнятий, зрозумілий, але не обробленийКористувач повинен знайти логічну помилку у запиті та виправити її
423LockedСайт знаходиться під захистом, і server з метою безпеки блокує методи клієнтаДля отримання інформації користувач повинен отримати авторизаційні дані
424Failed DependencyСервер розриває з'єднання, коли здатний обробити ще одне чи кілька паралельних дій клієнта. Те саме відбувається при некоректній обробці попередніх запитівЯкщо не вдається перепідключитися, користувачеві потрібно зв'язатися з адміністрацією server
425Too EarlyServer побоюється "атаки повторного відтворення" і не бере в обробку запит, який можна швидко запустити зановоКористувачеві потрібно заново запитати інформацію або зв'язатися з адміністрацією server
426Upgrade RequiredServer вимагає від клієнта використати актуальний протоколКористувачу необхідно встановити останню версію веб-браузера
428Precondition RequiredServer не здатний видати клієнту коректні чи актуальні відомостіКористувачу необхідно заздалегідь внести в запит параметри обробки даних
429Too Many RequestsСервер розглядає поведінку користувача як підозрілі внаслідок того, що останній багато разів за нетривалий час запитує відомості.Користувачеві слід запитувати інформацію рідше
431Request Header Fields Too LargeЗапит неможливо обробити через надмірно довгі заголовкиКористувачу потрібно скоротити заголовки
444No ResponseЗастосовується в log-файлах — підтверджує відсутність реакції сервера на запит користувача.
449Retry WithЗастосовують у продуктах Майкрософт Server не здатний прийняти запит внаслідок некоректно зазначених параметрів.Користувачеві необхідно виправити запит відповідно до чинних вимог
450Blocked by Windows Parental ControlsКод функції "Батьківський контроль" від "Майкрософт" Його бачать діти, які намагаються відвідати заблокований сайт.Для усунення помилки користувачу потрібно скоригувати параметри родконтролю
451Unavailable For Legal ReasonsДоступ до онлайн-ресурсу заблоковано відповідно до законодавстваКористувачу необхідно поцікавитися змінами у діяльності держави чи інтернет-провайдера

Що таке внутрішня помилка сервера 500

Коди помилок у вигляді «5**» повідомляють, що веб-браузер відправив коректний запит, але сервер не зміг його обробити. Дуже поширена помилка 500, коли сервер не виявляє причини проблеми. Застосовується будь-який опис збою – від тимчасової, внутрішньої та непередбаченої помилки до повідомлення англійською мовою. Це залежить від власника сайту, який сам створює сторінку про появу неполадок та вибирає її дизайн.

Дії користувача

Причиною помилки 500 можуть бути не тільки збої сервера, але й незначні навантаження сайту. Користувачеві необхідно перезавантажити сторінку, очистити cache та cookies. Коли код 500 виходить при покупках в онлайн-магазині, потрібно перевірити, чи оформлення завершилося, інакше можна створити кілька замовлень. Жодні дії не змогли усунути збій? Значить, річ у некоректній роботі сервера. Необхідно чекати, коли адміністрація налагодить код сайту або скоригує налаштування веб-хостингу.

Що робити власнику інтернет-ресурсу

Коли алгоритми пошукових систем сканують сайт на доступність та засвідчуються в коректній роботі сторінок, відбувається аналіз контенту. Потім формуються запити, які допомагають знайти інтернет-портал у пошуку. При виявленні на сайті помилки 500 статусу сторінки не змінюється протягом доби з часу останнього сканування. Це максимальний термін для виправлення неполадок, інакше після чергової перевірки робот виключить сайт з пошукової видачі.

Помилка підключення до SQL-сервера

Помилки можуть виникати і під час підключення до SQL Server.У повідомленні говориться, що сервер неможливо знайти або він недоступний, а при з'єднанні з'явилася помилка, зумовлена ​​некоректною роботою мережі або певного екземпляра, а також час очікування підключення. Все, що може користувач, – перевірити, чи вірно вказані ім'я ПК, айпі-адреса, номер порту і чи дозволені на SQL-сервері віддалені з'єднання. Також поширена помилка Windows 233, що говорить про відсутність процесу протилежному кінці каналу, т.к. до. SQL Server не може прослухати протоколи.

Висновок

У статті було розглянуто основні типи помилок сервера, їх причини та способи усунення. Помилки можуть бути викликані різними проблемами: неправильна конфігурація сервера, проблеми з базою даних, безпекою та іншими. Для усунення помилок необхідно провести діагностику та перевірити параметри сервера. Важливо пам'ятати, що його правильне налаштування є ключовим фактором стабільної роботи. Співробітники компанії «Айті Спектр» готові запропонувати вам свою допомогу у вирішенні різних помилок, а також всі види ІТ-підтримки.

Наскільки публікація корисна?

Натисніть на зірку, щоб оцінити!

Середня оцінка 2.5 / 5. Кількість оцінювань: 6

Оцінок наразі немає. Поставте оцінку першим.