Іноді виникають помилки на стороні сервера та на стороні клієнта, зазвичай їх називають HTTP-відповідями або кодами стану. Одним з таких HTTP-відповідей є помилка "406 error" або "406 Not Acceptable".
Цю помилку можна побачити під час відвідування сайту. Або що ще гірше на власному сайті. Це може дратувати звичайного користувача Інтернету, але для власника веб-сайту або програми це на межі страху. Будь-який код відповіді HTTP, включаючи помилку 406, може не тільки виглядати непрофесійно і збивати з пантелику, але і призводить до втрати продажів і користувачів.
У цій статті будуть пояснені основні відомості про помилку "406 Not Acceptable", її причини, способи виправлення та кроки щодо профілактики її появи в майбутньому.
Що таке помилка 406
Хороша новина полягає в тому, що повідомлення про помилку HTTP 406 Not Acceptable зустрічається не так часто, як помилка сервера 404 (яка зазвичай вказує на неіснуючу веб-сторінку) або навіть помилки 301 або 500 HTTP.
Найчастіше з'являється під час редагування постів, сторінок, товарів, міток та інших таксономій у WordPress. При цьому редагувати контент неможливо.
Хоча це трапляється рідко, все ж таки можливо, що помилка 406 може стати проблемою для веб-сайту. Зазвичай це виглядає так:
Залежно від того, як потрібний ресурс /wp-admin/post.php можна не перейти на цей сервер.
Повідомлення зазвичай говорить (у перекладі російською):
неприпустимо
Відповідне подання запитаного ресурсу /wp-admin/post.php не можна знайти на цьому сервері.
Іноді «запитаний ресурс», в якому полягає проблема, визначається та виводиться з іншими повідомленнями або інформацією про сервер:
Зовнішній вигляд та текст повідомлення про помилку 406 залежить від веб-сайту, хоста та браузера, які використовувалися для доступу до веб-сайту. Помилка 406 може показати, де відбулися помилки. В інших випадках відображається проста помилка «406 Not Acceptable» без будь-якої інформації про проблему.
А тепер давайте уявимо, що браузери говорять простою англійською, а не в цих загадкових повідомленнях. У цьому випадку браузер скаже щось на кшталт цього:
Здрастуйте, я браузер. Я спробував показати цю веб-сторінку, але виникла одна із двох проблем:
- Сервер веб-сайту надіслав мені файл неправильного формату, тому я не можу його прийняти.
- Сервер веб-сайту порушує деякі налаштування або вимоги безпеки.
Тому усуньте порушення або попросіть сервер використовувати один із прийнятних форматів файлів. Якщо вам цікаво, то формати файлів, які я вмію читати.
Якби тільки браузери були такими доброзичливими!
По суті, існує нерозуміння між сервером і браузером або комп'ютером, який використовується для представлення веб-програми. Браузер або не може прочитати, що надходить або перевірити дані, тому що вони не відповідають деяким вимогам.
Тепер треба відповісти на кілька запитань, щоб з'ясувати причину цього непорозуміння.
Дивіться також:
Найбільш поширені помилки SSL-з'єднання та методи їх виправлення
Що викликає помилку 406
Щоразу, коли ви відкриваєте веб-сторінку, ваш браузер (наприклад, Safari, Firefox, Brave, Chrome або Internet Explorer) надсилає запит на сервер сторінки для отримання вмісту сайту та файлів бази даних. Браузер діє як посередник між вами та сервером – він повідомляє серверу, що користувач хоче бачити, і, сподіваюся, вірна інформація повертається.
Під час першого запиту браузер повідомляє серверу всі формати файлів, які він може приймати. Це називається Прийняти- header запитом, який спонукає сервер доставити файли у належних форматах для створення всього веб-сайту або веб-застосунку, починаючи з заголовка.
Іноді сервер надсилає відповідь у невідповідному форматі або порушує правило, встановлене браузером або клієнтським комп'ютером. У цій ситуації у вікні браузера з'являється помилка 406, що вказує на те, що сервер не надає відповідні дані.
Ось кілька прикладів «поганих форматів» та «порушень правил», які можуть виникати при запитах заголовків:
- Прийняти діапазони: на деяких серверах встановлені заходи безпеки або дозволено лише певний діапазон розміру файлу у відповіді. Якщо відповідь намагається надіслати занадто багато байтів за межі допустимого діапазону, ви побачите помилку 406.
- Прийняти-кодування: це область заголовка, призначена для стиснення файлів, тому вони швидко переміщаються із сервера до браузера. Деякі методи та формати стиснення не приймаються, що призводить до відображення коду помилки 406.
- Accept-charset: відноситься до набору символів або до того, як таблиці файлів сайту приймають код (наприклад, CSS і HTML) і перетворюють його на зрозумілі символи. У світі так багато персонажів, мов та символів, що складно охопити їх усі. Стандартна таблиця називається ISO-8859, але є інші додаткові таблиці. Іноді випускаються нові таблиці символів.
- Прийняти-мова: зазвичай це інше ім'я для Accept-charset, яке посилається на його орієнтацію міжнародними мовами.
- Порушення типу MIME: Іноді браузер запитує у сервера певний тип MIME. Типи MIME – це елементи вмісту, такі як зображення JPEG, певні відео або простий текст. Якщо сервер не може надати запитаний тип MIME, наприклад зображення JPEG, ви побачите помилку 406.
Основний спосіб виправити помилку 406 – перевірити вихідний код на наявність проблем у заголовках Accept-, Request- и Відповідь- .
Найпростіший спосіб переглянути заголовки «Прийняти» та «відповідь» – відкрити веб-сторінку в браузері, клацнути правою кнопкою миші та вибрати « Інспектувати»(Перевірити).
перейдіть в Мережа> Заголовки, щоб відобразити всі запити з цієї веб-сторінки.
Зазвичай вибирають будь-який запит із довгого списку, щоб побачити заголовки запиту и відповіді для цього конкретний запит.
Або можете звернутися до свого веб-розробника. Однак перевірка вихідного коду набагато простіша, якщо є інструменти для налагодження та очищення бази даних, які обговоримо пізніше у цій статті.
Помилка 406 Not Acceptable повідомляє, що клієнт відправив дійсний запит на сервер, але запит включав унікальну вимогу для сервера. Ця спеціальна вимога у початковому запиті була у формі HTTP Прийняти- Заголовка.
Це залишає нам кілька потенційних причин:
- Сервер не надав запитаний тип MIME або правильні формати, такі як відео JPEG або mp4.
- Сервер не повернувся з правильною мовою (Accept-language). Наприклад, він міг відправити відповідь німецькою мовою, коли браузер запросив французьку.
- Сервер використовував неправильний метод або формат стиснення у відповідь на запит Accept-encoding.
- Сервер відправив назад надто багато байтів, які не збігаються із запитом Accept-ranges.
- Серверу не вдалося надати зрозумілі символи, що призвело б до проблеми із запитом Accept-charset із браузера.
Є й інші причини, через які ви можете побачити помилку 406, але вони не такі поширені. Наведений вище список – від найпоширеніших причин до найменш поширених. Перші два використовуються набагато частіше, ніж інші, тому є більша ймовірність, що вам зазвичай слід зосередитися на усуненні потенційних проблем з порушенням типу MIME або проблемою мови прийняття.
В цілому, власники веб-сайтів повинні знати про ці проблеми та порушення формату, щоб знати, як щось у файлах вашого сайту може викликати проблеми. Такі ситуації часто виникають через людську помилку, наприклад, випадкове введення неправильного коду, видалення необхідного коду або неправильне налаштування сервера. Помилка 406 також з'являється, коли певні установки або правила безпеки блокують передачу контенту з сервера.
Як виправити помилку 406
Перед виконанням будь-яких дій щодо усунення помилки 406 розумно запустити резервну копію веб-сайту або програми. Завжди є можливість викликати подальші проблеми, увійшовши у вихідний код сайту. Тому може знадобитися резервна копія бази даних та файлів сайту для відновлення у разі потреби.
Переконайтеся, що створено повну резервну копію всього, від бази даних та мультимедійних елементів до файлів сайту.
Тепер, коли ми маємо більш глибоке розуміння того, чому виникає помилка 406, настав час поговорити про кращі методи усунення помилки та запобігання її повторенню.
Ці тактики включають причини на стороні клієнта (коли користувач робить помилку або машина працює некоректно), причини на стороні сервера та причини на основі платформи, такі як несправні плагіни.
Переконайтеся, що URL-адреса правильна
Перша порада може здатися простим, але це найшвидший спосіб усунення несправностей, і він фокусується на проблемах, пов'язаних із клієнтською стороною (тобто з вашим комп'ютером).
Помилка 404 набагато вірогідніша, ніж помилка 406 у цій ситуації. Але якщо URL-адреса веб-сайту дійсна, можна побачити і помилку «406 Not Acceptable». Тим не менш, є щось дивне, як браузер перекладає запит. Наприклад, додавання «JSON» або «PHP» в кінець URL-адрес може бути неправильно витлумачено як запит для цих конкретних форматів, навіть якщо клієнту вони не потрібні.
Щоб вирішити цю проблему, двічі перевірте раніше використану URL-адресу, яка викликала помилку. Спробуйте ввести його ще раз або виберіть інший субдомен на веб-сайті, щоб перевірити, чи не відображається лише одна сторінка.
Повідомлення 406 технічно вважається кодом помилки на стороні клієнта (навіть якщо це часто проблема платформи або сервера), тому це перший крок, що дозволяє визначити, що стороні клієнта щось не так.
Скиньте свої пристрої та мережі
Інша проблема на стороні клієнта іноді пов'язана з тими самими заголовками Прийняти, надісланими з комп'ютера користувача на платформу, яка не може задовольнити запит. Багато цих платформ включають ігрові або медіа-орієнтовані системи, такі як Hulu, або музичні торгові майданчики, такі як Spotify.
Простіше кажучи, можна увійти на таку платформу, як Hulu, спробувати подивитись своє улюблене телешоу та отримати повідомлення про помилку 406. У цьому прикладі проблема майже завжди на стороні клієнта. Зазвичай це комп'ютер, мережа або інший пристрій, який ви використовували для запуску платформи.
Хоча це може статися з будь-якою платформою, деякі платформи, які зазвичай повідомляють про помилки 406:
- Hulu
- Гугл гри
- Ігри Square Enix
- Netflix
- Xbox
- Windows (зазвичай для ігор)
Цей список далеко не повний, але він дає уявлення про те, де може виникнути помилка 406.
Медіа та ігрові платформи мають багато обмежень, і ці обмеження залежать від вашого розташування або конфігурації мережі.
Хоча важко допомогти вам усунути неполадки для кожної конкретної платформи, розгляньте такі рекомендації та перевірте, чи усунена помилка:
- Увійдіть до Інтернету, щоб перевірити статус сервера платформи. Це може бути просто проблема із сервером компанії.
- Перезавантажте комп'ютер, ігрову систему, потоковий пристрій або інші пристрої.
- Від'єднайте всі пристрої від кабелів, зачекайте кілька хвилин, перш ніж їх знову підключити, і перевірте, чи зникла помилка.
- Переконайтеся, що в програмі інстальовано останню версію. Також перевірте, чи доступні оновлення прошивки для будь-якої з ваших машин.
- Скиньте налаштування домашньої або офісної мережі (Wi-Fi або підключення до Інтернету через маршрутизатор).
- Якщо проблема не зникне, подумайте про переключення з бездротової мережі на дротове з'єднання.
- Хоча це не завжди можливо, розгляньте можливість дублювання помилки на іншому комп'ютері. Переконайтеся, що пристрій знаходиться в тій самій мережі. Якщо ви не можете відтворити помилку, перевірте мережу та вихідний комп'ютер.
Якщо все це не допомогло, перейдіть у свою пошукову систему і введіть назву своєї платформи разом з кодом помилки + 406, щоб отримати рекомендації щодо усунення несправностей для конкретної платформи. Цей запит часто відкриває форуми та допоміжну документацію, яка допоможе визначитись.
Відкат останніх змін у CMS
Настав час вивчити систему, яка використовується для ваших веб-сайтів або програм. Може статися так, що система керування контентом, така як WordPress, є прямою причиною помилки "406 Not Acceptable" через складності всередині файлів сайту.
Незалежно від того, використовуєте WordPress або будь-яку іншу систему керування контентом, дізнайтеся, коли було останнє оновлення. Незважаючи ні на що, WordPress має надійну підтримку за умовчанням, призначену для запобігання подібним помилкам.
Однак, певні плагіни, теми або код, налаштовані вручну, можуть призвести до ситуацій, коли файли сайту порушують запити клієнта або сервера. Просте оновлення до останньої версії CMS може одразу вирішити проблему.
Щоб з'ясувати, чи не CMS все псує, почніть з відкату всіх останніх оновлень, які відбулися з файлами ядра. WordPress регулярно розсилає оновлення своєї системи. Більшість цих оновлень відбувається автоматично, але більш старі версії, як і раніше, вимагають натискання кнопки оновлення.
Крім того, WordPress та інші CMS використовують кілька сторонніх частин, таких як плагіни, теми та розширення. Вони також регулярно оновлюються, тому може знадобитися відкотити деякі з них.
Для всіх систем, що не належать до WordPress, виконайте пошук на запит «назва платформи + як перейти на більш ранню версію».
Якщо ви використовуєте WordPress, можете легко знизити версію свого веб-сайту WordPress, ефективно відкочуючи його до однієї з попередніх версій:
Видаліть та перевстановіть плагіни, теми та розширення
Плагіни та теми WordPress додають додатковий код до файлів сайту, який взаємодіє з основними файлами WordPress. Авторитетні плагіни зазвичай не викликають жодних проблем, але з неякісним ПЗ іноді виникають конфлікти. Плагін, тема або інше розширення можуть бути причиною помилки 406.
Перевірений метод визначення проблемного плагіну або теми - один за одним деактивувати плагіни та теми. Після вимкнення кожного перевірте, чи зникла помилка 406. Якщо так, то ви знайшли проблему. Якщо помилка не зникне, перевстановіть плагін або тему та продовжіть видалення наступного.
Почніть із плагінів, якщо нічого не знайдете – перейдіть до теми.
Аналізуйте стан БД щодо змін і конфліктів
На жаль, віддалений «проблемний» плагін все ще може вплинути на базу даних WordPress, оскільки плагіни для правильної роботи одержують повний доступ до БД. Тому слід перевіряти статус бази даних, навіть якщо здається, що видалення плагіна призвело до зникнення помилки 406. В іншому випадку можна зіткнутися з додатковими проблемами в майбутньому.
Якщо плагін або тема не були причиною помилки, слід перевірити базу даних: чи є основним джерелом помилки. Іноді зміна бази даних, випадкова або цілеспрямована, стає основною причиною появи помилки 406.
Щоб просканувати та виправити БД, розгляньте такі рішення:
- Встановіть сканер та очищувач бази даних, який видаляє непотрібні та проблемні таблиці та активи. Деякі параметри включені до плагінів WP Optimize и Розширений засіб для очищення баз даних. Більшість цього процесу включає видалення старих або втрачених елементів, таких як сміттєві записи, виправлення і метадані. Це надійний перший крок до очищення БД та потенційного усунення помилки 406.
- Проскануйте базу даних і знайдіть записи та таблиці, які можуть бути змінені проблемним плагіном або виглядають недоречними або непотрібними.
- Якщо у вас є уявлення про те, що не так з базою даних, перейдіть до пошукової системи та зверніться за допомогою на форуми та інші обговорення в Інтернеті. Є велика ймовірність, що хтось інший зіштовхнувся із тією ж проблемою.
Аналізуйте журнали сервера
Попередні рекомендації зосереджені на усуненні несправностей на стороні клієнта та CMS. Тепер розглянемо проблеми на стороні сервера. Ця та наступні поради найкраще підходять, якщо ви не використовуєте CMS або знаєте, що помилка 406 не пов'язана з CMS або клієнтським комп'ютером.
Першим кроком у виправленні неполадок сервера є перевірка журналів. Неважливо, який тип веб-застосунку, CMS або системи веб-дизайну ви використовуєте; вони мають журнали за сервера.
Журнали додатків зберігають всю (або недавню) історію цього веб-додатка з інформацією про кожен запит до бази даних, надані результати, запитані сторінки та багато іншого. З іншого боку, журнали сервера містять інформацію про працездатність та стан сервера або обладнання, які використовуються для запуску веб-програми.
Налагодження веб-програми (наприклад, WordPress)
Подібно до більшості веб-програм, які мають журнали серверів і помилок, вони зазвичай надають інформацію про налагодження самої програми. Налагодження включає перегляд коду програми для пошуку та усунення дрібних помилок.
Один із найкращих способів запустити повне сканування WordPress (або будь-якої веб-програми) – налагодити файли бази даних та веб-сайту. На щастя, налагодження не означає, що вам потрібно читати кожен рядок коду та самостійно виявляти помилки. Для цієї конкретної мети доступні програми, і багато хостингів надають їх на панелі керування сайтами.
Запобігання помилці 406 у майбутньому
Проблема з помилкою 406 полягає в тому, що вона може з'являтися у різних ситуаціях. Ви можете побачити помилку «406 Not Acceptable HTTP» під час перегляду Hulu або Netflix як звичайного користувача.
Це не дуже приємно, але все можна виправити за допомогою невеликого усунення несправностей. Більш небезпечною є поява помилки 406, коли вона відбувається на вашому веб-сайті або в додатку. У таких випадках необхідно перевірити файли сервера та сайту CMS.
Якщо це ваш веб-сайт, то потрібно запобігти повторенню помилки. Плагіни, теми та людський фактор завжди можуть зіграти роль, але у нас є кілька порад, як зберегти бази даних та файли сайту в чистоті в майбутньому:
- Встановлюйте лише необхідні та перевірені плагіни, теми та розширення. Завжди зводьте ці елементи до мінімуму.
- Ніколи не змінюйте основні файли WordPress, якщо ви не впевнені і не знаєте, що робите.
- Запускайте регулярно очищувачі/оптимізатори бази даних та сайту. Рекомендуємо виконувати цей процес щомісяця, а ідеалі знайти чистий плагін, який автоматично запускається у фоновому режимі.
- Візьміть за звичку налагоджувати сервер та веб-програму. Багато ресурсів мають таку функціональність.
- Встановіть автоматичне резервне копіювання сайту або програми. Таким чином, конфлікт коду або помилка не спричинять особливого стресу, оскільки можна відновити попередню версію веб-сайту і почати з неї.
- Виконайте ручне резервне копіювання сайту, перш ніж планувати оновлення WordPress та будь-яких плагінів, навіть якщо вже запущено автоматичне резервне копіювання (краще перестрахуватися, ніж шкодувати). Також розумно виконати резервне копіювання перед редагуванням будь-яких файлів або додаванням нового коду на сайт.
Виправити помилку 406 можна кількома способами. Хоча це не одна з найпоширеніших помилок WordPress, ви час від часу зустрічатиметеся з нею, якщо конфігурація неправильна.
Джерело: kinsta.com
Коментарі до запису: 0