Про 3xx код статусу відповіді

Опубликовано: Artem Prysyazhnuk 2023-12-22 все статьи | Глосарій | ПОШИРЕНІ ЗАПИТАННЯ

Якщо ви є частим користувачем Інтернету, то напевно хоча б раз потрапляли в ситуацію, коли замість очікуваної веб-сторінки бачили звичайну сторінку, яка містить текст з, наприклад, кодом статусу 307 і повідомлення ‘Тимчасовий перенаправлення’ або щось подібне. Такі повідомлення насправді є заповнювачами статусу HTTP, які сповіщають користувачів про незвичні ситуації на сервері, де розміщений веб-сайт. 

Замість веб-сайту ви можете побачити повідомлення з кодом стану 300 або знайдений текст з кодом стану 302. Ці коди з'являються у відповідь на ситуації, коли веб-сайт було переміщено і веб-майстер налаштував перенаправлення, яке не було поновлено або застосовано належним чином на момент, коли ваш пристрій надіслав запит. Це тимчасове явище, і зазвичай проблема вирішується, як тільки ви оновлюєте сторінку. І якщо ви не хочете, щоб вас це бентежило, вам слід отримати більше знань про такі ситуації та значення цих кодів.

Огляд кодів стану 3xx

Огляд кодів стану 3xx

Визначення кодів переадресації

Різні текстові повідомлення від групи 3XX мають різне значення, але всі вони пов'язані з процедурою перенаправлення, що супроводжується зміною структури сайту - від внутрішніх змін папок до переходу на інший хостинг-сервер. Наприклад, код статусу 304, за яким слідує текст "Не змінено", означає, що на сайті нічого не було змінено і це лише незначна проблема, яка буде вирішена при оновленні сторінки.

З іншого боку, код відповіді 302 у поєднанні з текстом ‘Знайдено’ з'являється в браузері, коли ресурс був тимчасово переміщений в інше місце, як правило, під час технічного обслуговування. А коли виникають серйозні проблеми, такі як неправильно налаштовані перенаправлення або помилкові запити, користувачі можуть побачити щось на кшталт коду стану 303 з текстом ‘See Other’, що означає, що перенаправлення відбувається на іншу сторінку, а не на ту, яку хотів користувач.

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

Поширені випадки використання

Не дивлячись на те, що це дещо неприємна ситуація для користувачів, іноді перенаправлення є необхідним для поліпшення продуктивності або стабільності веб-сайту. І це неминуча процедура, коли веб-сайт зростає і потребує ретельної реструктуризації, наприклад, або переміщення контенту. А для користувачів текст відповіді з кодом 302 є частим приводом у таких ситуаціях.

Звісно, перенаправлення також неминуче, коли сторінка або сайт в цілому переноситься на інший сервер. Це призведе до того, що замість сторінки з'явиться код стану 301 і текст ‘Переміщено назавжди’, і це означатиме, що URL-адресу було переміщено. Хоча користувачі зазвичай не бачать цього, оскільки він перенаправляє їхні запити майже миттєво.

Список 3xx кодів стану та їх значення

300 - кілька варіантів

300 - декілька варіантів

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

301 - Переміщено назавжди

301 - Переміщено назавжди

Як видно з тексту, код статусу 301 вказує на те, що URL-адреса була переміщена в інше місце на постійній основі і не буде доступна з того ж місця. Зазвичай користувачі буквально не помічають цього повідомлення, оскільки перенаправлення відбувається в потрібне місце. Але іноді цей текст з кодом стану 301 з'являється на мить і зникає миттєво або при перезавантаженні сторінки.

Текст цього коду, якщо він часто з'являється на одній і тій же сторінці, повинен бути виправлений веб-майстром, щоб зберегти цілісність посилань. Особливо, якщо сайт SEO-орієнтований. Інакше пошукові системи не зможуть адекватно розбирати сторінку.

302 - Знайдено (тимчасово переміщено)

302 - Знайдено (тимчасово переміщено)

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

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

303 - Див. інше

303 - Див. інше

Особливо незвичний і рідко показуваний користувачам код статусу 303 повідомляє, що URL-адреса веде в неправильному напрямку і запитувану сторінку можна знайти в іншому місці. По суті, це означає, що браузеру слід надіслати ще один GET-запит до сервера - або, з точки зору користувача, потрібно перезавантажити сторінку.

Зазвичай код відповіді 303 трапляється, коли сайт був назавжди перенесений і редирект не був оброблений з належною швидкістю. Іноді це простий збій мережі, іноді - незначне зниження продуктивності обладнання, а іноді - просто нещасний випадок. І веб-майстер повинен виправити всі пов'язані з цим проблеми, щоб цього не сталося.

304 - Не змінено

Іноді трапляються ситуації, коли джерело не було змінено, але перенаправлення вже було налаштоване - тоді виникає 304 код відповіді, який вказує на цей факт. Часто користувачі не бачать його взагалі, як і інші текстові коди в категорії, але іноді він з'являється. В основному, це неправильна конфігурація на стороні сервера, і веб-майстер повинен виправити її. 

Зазвичай це відбувається, коли закінчується період тимчасового перенаправлення і посилання повертається до нормального стану, але з'єднання продовжує перенаправлятися через те, що налаштування не були повернуті до початкового стану. Але іноді код стану 304 з'являється, коли нічого не змінилося, але програмне забезпечення сервера вважає, що відбулося перенаправлення.

307 - Тимчасовий редирект

307 - Тимчасовий редирект

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

308 - постійний редирект

308 - Постійний редирект

Цей текст, код відповіді 308, насправді є більш досконалою і правильною альтернативою 301, так само як 307 є альтернативою 302. І наступна відповідь працює буквально так само - вона не дозволяє переключитися на будь-який інший HTTP-метод, тобто має суворі вимоги до кешування, незважаючи на ті ж умови для відображення. Загалом, цей текст сповіщає користувачів про те, що сторінка була переміщена на постійній основі і більше не буде доступна зі старого місця розташування. Тому користувачі зазвичай не бачать його, але парсери пошукової видачі бачать, і веб-майстру слід якомога швидше усунути джерело проблеми, інакше це може спричинити серйозні проблеми з SEO-оптимізацією сайту.

Чому з'являються коди перенаправлення

Реструктуризація сайту

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

Інші тексти з’являються набагато рідше, і більшість користувачів ніколи не бачать жодного з них. Але іноді таке буває. Наприклад, усі згадані вище тексти, такі як ‘Не змінено’ і ‘Див. інше’ зустрічаються досить часто, незважаючи на те, що коди з групи 3XX справді рідкісні.

Переміщення вмісту

Двома найпоширенішими й поміченими користувачами випадками використання послідовності перенаправлення є постійне (код відповіді 301) або тимчасове (302) переміщення вмісту. Насправді це дозволяє клієнту (браузеру) плавно спрямовувати користувачів і трафік до нового місця без будь-яких проблем. Для веб-майстрів це позбавляє від необхідності повідомляти користувачів вручну про такі зміни, тому це дуже зручно для веб-майстрів.

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

Міркування про пошукову оптимізацію

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

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

Чому веб-майстри використовують коди перенаправлення 3xx

Збереження цінності SEO

Як уже згадувалося, веб-майстри використовують коди 3XX, як-от код статусу 301, щоб переконатися, що аналізатори з пошукових систем слідують правильному джерелу, незважаючи на зміну його початкового розташування. І якщо це лише тимчасово, він підтримує поточний статус SEO та позицію ресурсу в рейтингу SERP, перш ніж його буде повернено назад до його першого розташування. Але коли переміщення або реструктуризація не є тимчасовими, використання коду статусу 302 означає більше, ніж це, оскільки воно служить для іншої мети, беручи до уваги той факт, що джерело переміщено назавжди.

Перш за все, 302 служить початковим посібником для пошукових роботів, які визначають рейтинг веб-ресурсу за статусом, продуктивністю та іншими параметрами. Але коли аналізатори SERP бачать код статусу 302 замість 304, вони дотримуються послідовності перенаправлення та позначають нове місце як постійне. Це ініціює переміщення значення рейтингу в рейтингу SERP зі старої URL-адреси до нового заголовка, фактично завершуючи переміщення для оптимізації SEO.

Покращення взаємодії з користувачем

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

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

Керування змінами URL

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

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

Висновок

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

Ця група кодів, якщо її правильно налаштовано, допоможе підтримувати взаємодію з користувачем, а також підтримувати рейтинг SEO ресурсу на тому самому рівні, який був до початку вищезгаданих процедур. І хоча користувачі навіть не побачать ці тексти, синтаксичні аналізатори SERP обов’язково візьмуть їх до уваги, особливо якщо ресурс назавжди перенесено в інше місце з початкового сервера.

Поширені запитання

Що таке код статусу 304?

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

Що таке код статусу 302?

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

Теги: usecase
Генеральний директор та засновник компанії HostTracker. Він пристрасний підприємець із сильним технічним бекграундом у F#. Артем працює в індустрії розробки програмного забезпечення більше 20 років.