Коди відповіді сервера - посібник для початківців
Коди відповіді сервера можуть здатися здавалося б помилками. Зазвичай вони є очевидними для кожного запиту, який ми надсилаємо на сервер. Однак при глибшому розгляді коди відповіді сервера зустрічаються і тоді, коли веб-сайт працює нормально.
Дозвольте мені продемонструвати це за допомогою короткої метафори.
Кожен раз, коли ви відвідуєте веб-сторінку, відбувається бюрократичний обмін інформацією між вашим браузером та віддаленим сервером.
Ваш веб-браузер (званий клієнтом) ініціює цей обмін, роблячи запит на сервер для отримання коду сторінки, зображень та іншої інформації.
Сервер завжди знаходиться в режимі очікування і повертає різні повідомлення.
Приклад: "Я отримав запит, ось що ви можете очікувати в найближчі кілька секунд".
Такі повідомлення, що містять коди відповідей сервера, корисні як для тих, що очікують кл іентів, так і для оптимізації їхньої роботи.
Коди відповідей сервера - розбивка
Перша цифра коду завжди вказує на його загальне значення, тому ви можете швидко передбачити, що вони означають, навіть якщо не знаєте їх деталей.
Ось коди відповідей сервера в розбивці:
2xx – Successful (успішний)
Мета коду 2xx, що повертається - повідомити клієнту, що все було прочитано правильно і сторінка буде відображена в тому вигляді, в якому вона знаходиться на сервері.
3xx – Redirection (перенаправлення)
Ці часто неправив коди відповіді сервера, що розуміються, допомагають оновлювати застарілі запити клієнтів.
4xx – Client Error (помилка клієнта)
Запит клієнта не був зроблений на стороні браузера. Найпоширенішою відповіддю у цьому відношенні є недійсне посилання або запит неіснуючих даних на сервері.
5хх. помилка сервера)
Клієнтський запит не було зроблено на стороні сервера. Ремонт та діагностика зазвичай потребують втручання веб-майстра або просто знаючої людини.
Коди відповідей сервера - статус 200
Відповідь сервера зі статусом 200 означає "все в порядку, ви отримаєте запитану інформацію за кілька секунд".
Ми отримуємо його кожного разу, коли перша сторінка сайту коректно завантажується у браузері.
У зв'язку з цим, чи може такий статус бути неправильним?
Кілька місяців тому я хотів купити сорочку. Певний бренд посів високе місце у рейтингу, тому я одразу перейшов на їхній сайт і знайшов те, що хотів. Однак у мене не було ні можливості, ні бажання натиснути кнопку "купити". Тому я повернувся до результатів. пошуку і перейшов за кожним іншим посиланням цього бренду на першій сторінці. З тим же результатом. Я трохи поколупався і перевірив. Виявилося, що їхній сервер повертав статус 200 для кожної сторінки, яка будь-коли існувала на їхньому сайті. Через це старі товари не були видалені з індексу пошукової системи і витіснили з першої сторінки товари, які можна було купити.
Коди відповідей сервера - статус 301
Статус 301 - перенаправлення постійно, тобто. це повідомлення клієнту про те, що інформація, яку він шукає, тепер знаходиться в іншому місці. Замість завантаження древньої інформації сервер оновлює посилання, тобто. статус 301 тепер веде до статусу 200, але в новому місці. Якщо клієнт є пошуковою системою, старе місце розташування буде замінено на новий в індексі пошукової системи.
Код 301 - це ідеальний спосіб виправити запити відвідувачів, які набирають неправильну версію домену.
Погляньте на приклад:
Наш домен - mobiletry.com, але існує кілька його версій:
- www.digiants.com
- digiants.com/
- www.digiants.com/
код твета сервера 301 можуть перенаправляти з будь-якої вказаної адреси на наш основний домен mobiletry.com.Як це зробити? Я надсилаю вас до мого попереднього повідомлення про файл htaccess і його використання. та переміщення контенту по сайту або домену. Ідея полягає в тому, щоб відвідувачі, що зайшли на старий сайт, просто автоматично перенаправлялися на новий. стає помилкою, коли старий сайт досі актуальний. Також помилкою буде, якщо старе місце не має зв'язку з новим. Такий сайт буде мати підвищений рівень спаму через занадто велику кількість перенаправлень з сайтів іншої тематики.
Коди відповідей сервера - статус 302
302 - Found/Temporary Redirect, за допомогою цього статусу можна підтвердити запит клієнта і сказати: "Я знайшов інформацію, яку ви запитуєте, але ця інформація буде доступна у вихідному місці тільки через деякий час".
Сервер починає аналізувати новий запит, у результаті чого ми отримуємо статус повернення 200 у новому місці. Якщо клієнтом є пошукова система, вихідне місце розташування все одно залишиться в індексі пошукової системи.
Коди відповіді сервера 302 спричиняють безліч проблем, особливо коли посилання має вести на постійне і нове місце (301) або не знайдено (404). Деякі веб-майстри помилково використовують ланцюжки редиректів 302 і 301, що може призвести до значного збільшення часу завантаження сайту.
Коди відповідей сервера - статус 304
304 - Не змінено, це перенаправлення на сторінку, яка вже була кешована клієнтом.
Потім сервер відповідає: "Я отримав ваш запит, але інформація анітрохи не змінилася з моменту останнього запиту, у зв'язку з цим давайте не будемо гаяти час і скористаємося сторінкою, завантаженою минулого разу".
Цей код відповіді передбачає безліч логічних запитів між клієнтом і сервером. Ці два об'єкти взаємодіятимуть доти, доки кешована інформація актуальна. У нас є можливість вказати, коли кешована інформація повинна автоматично оновлюватися. І знову ми можемо використовувати для цього файл .htaccess:
<IfModule mod_expires.c>.
ExpiresActive on
ExpiresDefault "доступ плюс 1 місяць"
ExpiresByType text/cache-manifest "доступ плюс 0 секунд"
ExpiresByType text/html "доступ плюс 0 секунд"
ExpiresByType text/xml "доступ плюс 0 секунд"
ExpiresByType application/xml "доступ плюс 0 секунд"
ExpiresByType application/json "доступ плюс 0 секунд"
ExpiresByType image/x-icon "доступ плюс 1 тиждень"
ExpiresByType image/gif "доступ плюс 1 місяць"
ExpiresByType image/png "доступ плюс 1 місяць"
ExpiresByType image/jpg "доступ плюс 1 місяць"
ExpiresByType image/jpeg "доступ плюс 1 місяць"
ExpiresByType text/x-component "доступ плюс 1 місяць"
ExpiresByType font/truetype "доступ плюс 1 місяць"
ExpiresByType font/opentype "доступ плюс 1 місяць"
ExpiresByType application/x-font-woff "доступ плюс 1 місяць"
ExpiresByType image/svg+xml "доступ плюс 1 місяць"
ExpiresByType application/vnd.ms-fontobject "доступ плюс 1 місяць"
ExpiresByType text/css "доступ плюс 1 місяць"
ExpiresByType application/javascript "доступ плюс 1 місяць"
ExpiresByType text/javascript "доступ плюс 1 місяць"
<IfModule mod_headers.c>
Заголовок append Cache-Control "public"
</IfModule>
</IfModule>
Цей статус зустрічається не так часто, як його 301 і 302 побратими, але прочитавши "будь ласка, очистіть кеш, щоб побачити зміни", можна припустити, що за це відповідає цей код.
Що нам потрібно робити в такому разі?
Оновити сторінку? Закрити сайт і відкрити його знову?
Ні. Взагалі кажучи:
F5 на клавіатурі або оновлення мишею у верхній панелі може завантажити ту саму веб-сторінку, яку ми щойно бачили. Навіть якщо її зміст постійно змінюється.
Чому?
Тому що сторінка постійно завантажується з кешу. Використання Ctrl + F5 або Ctrl + R призводить до повного оновлення, тобто очищення кешу. Це гарантує, що у нас завжди буде актуальна версія сайту.
Коди відповідей сервера - статус 403
Відповідь сервера зі статусом 403 - Forbidden говорить нам про те, що сервер розуміє наш запит, але у вас немає дозволу на перегляд цієї інформації.
Ми отримуємо код 403, коли клієнт не має належного доступу до сервера. Якщо хтось робить несанкціоновану спробу проникнути в конфіденційні структури нашого сайту, це є дійсною "помилкою". Зазвичай цей статус отримують роботи пошукових систем, які намагаються проіндексувати сайт.
Це відбувається через файл robots.txt, де ми забороняємо вхід на наш сайт, але це також може бути результатом поганої конфігурації веб-сервера.
Коди відповідей сервера - статус 404
Код 404 - Not Found говорить: "Я не можу знайти запитувану вами інформацію - цілком імовірно, що її взагалі ніколи не існувало". Це найбільш часто зустрічається помилка. Код 404 виконує дуже важливу функцію – інформує клієнта про те, що те, що він запитував, не знайдено.
Помилка 404 є настільки поширеною, що багато веб-майстрів воліють її налаштовувати. Ми можемо встановити статус 404 таким чином, щоб перенаправляти клієнтів на внутрішню пошукову систему, коли вона не знаходить те, що вони шукали.
Як ми це робимо?
І знову на допомогу приходить .htaccess. Створіть свої унікальні коди та вкажіть їх таким чином:
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
Відповідь 404 зазвичай є не помилкою сервера, а результатом спроби підключення до застарілих посилань або простою друкарською помилкою в URL. Якщо ваш сайт має безліч помилок 404, то вам необхідно негайно їх виправити. 404 помилки?
Для цього можна використовувати Screaming Frog або онлайн-сканер, наприклад 404 Checker.
Однак, якщо ви помітили багато помилок 404 від зовнішніх посилань, які не можуть бути оновлені, ви повинні розглянути помилку 410.
Коди відповідей сервера - статус 410
Статус 410 - Пропав (видалений). Цей код - спосіб сервера повідомити клієнту, що: "інформація колись існувала, але її більше немає".
Помилка 410 повідомляє роботам пошукових систем та іншим веб-сайтам, що запитувана інформація доступна лише деякий час і всім слід видалити посилання на неї.
Роботи пошукових систем у разі умови 404 все одно перевірять її, але помилка 410 вважається абсолютною. Через свою особливу важливість веб-майстри вважають за краще уникати 410 помилки, повертаючись до 404 для всіх "не знайдено" і "видалено".
Коди відповідей сервера - статус 503
Код 503 - Service Unavailable, ця помилка вимагає більше знань і часу для усунення. Статус 503 зазвичай використовується, якщо сервер перевантажений і не може відповісти на будь-який запит. Перевантаження може бути результатом поганої конфігурації сервера або раптового збільшення відвідуваності сайту.
Зверніть увагу, що код 503 також з'являється під час купівлі нового домену та підключення його до сервера. Це викликано не перевантаженням сервера, а відсутністю поширення DNS домену. Поширення може зайняти від кількох до 24 годин.
Коди відповідей сервера - короткий опис
Коди відповідей сервера є важливим аспектом розуміння процесу обміну інформацією. Знання того, що означає той чи інший код, є необхідною навичкою в епоху повсюдного доступу до Інтернету, навіть якщо ваша роль не полягає в налаштуванні серверів. Потрібно знати, де криється помилка - на нашому боці (клієнт) або вище (сервер).