HTTP-відповідь (відповідь сервера) - це відповідь, яка надсилається сервером у відповідь на запит клієнта, який був відправлений за протоколом HTTP. HTTP-відповідь складається з трьох частин: статус-лінії, заголовків відповіді та тіла відповіді.
Відповідь HTTP можна перевірити різними інструментами, наприклад онлайн-сервісами або розширеннями для браузера. Якщо вам потрібно зрозуміти, яка HTTP-відповідь бачить Googlebot, можна скористатися Search Concole. Для цього виконайте перевірку урла, перейдіть до Переглянути перевірену сторінку > більше інформації > http-відповідь:
Для перевірки чужого сайту можна використовувати інструмент Перевірка оптимізації для мобільних. Він також покаже відповідь саме так, як її бачить Googlebot.
Статус-лінія містить код стану HTTP, який повідомляє клієнта про статус виконання запиту. Код стану складається із трьох цифр, де перша цифра вказує на клас відповіді:
Нижче перераховані коди HTTP. Найбільш поширені з них, це 200 (звичайна працююча сторінка), 404 (встановлюють для неіснуючих сторінок) та 301 (вічне перенаправлення на іншу адресу).
Код відповіді | Опис |
---|---|
100 (Continue) | Повідомляє клієнта, що сервер готовий продовжити обробку запиту. |
101 (Switching Protocols) | Повідомляє клієнта, що сервер перемикає протоколи та використовуватиме інший протокол. |
102 (Processing) | Сервер прийняв запит, але ще завершив його обробку. |
103 (Early Hints) | Сервер надсилає клієнту інформацію про можливі подальші відповіді. |
200 (OK) | ОК. Успішний запит, відповідь містить дані, що запитуються. |
201 (Created) | Ресурс успішно створено на сервері. |
202 (Accepted) | Запит було прийнято на обробку, але ще не виконано. |
203 (Non-Authoritative Information) | Інформація, надана сервером, може бути зовсім точною. |
204 (No Content) | Нема вмісту. Запит виконаний успішно, але відповідь не містить даних. |
205 (Reset Content) | Сервер успішно обробив запит, але клієнту необхідно скинути своє уявлення про запитуваний ресурс. |
206 (Partial Content) | Сервер успішно виконано запит, але повернув тільки частину контенту, що запитується. |
207 (Multi-Status) | Запит виконаний успішно, але з кількома відповідями, кожна з яких може бути різною. |
208 (Already Reported) | Ресурс уже повернули у попередній відповіді. |
226 (IM Used) | Сервер успішно обробив запит, і відповідь містить інформацію про ресурс. |
300 (Multiple Choices) | Повідомляє клієнта про кілька опцій ресурсу, з яких клієнт може вибрати. |
301 (Moved Permanently) | Запитуваний ресурс було переміщено на інший URL. |
302 (Found) | Запитуваний ресурс тимчасово переміщений на інший URL. |
303 (See Other) | Дивитись інше. Клієнт повинен виконати запит до іншої URL, вказаної у відповіді. |
304 (Not Modified) | Повідомляє клієнту, що ресурс, що запитується, не змінився з моменту останнього запиту. |
305 (Use Proxy) | Запрошений ресурс має бути запитаний знову, але з використанням іншого URI. |
306 (Unused) | Нині не використовується. |
307 (Temporary Redirect) | Запит повинен бути направлений до іншої URL-адреси, але не змінюватися при цьому метод запиту. |
307 (Temporary Redirect) | Запит повинен бути направлений до іншого URL, але не змінюватися при цьому метод запиту (наприклад, якщо був надісланий запит POST, то і наступний запит повинен бути запитом POST). |
308 (Permanent Redirect) | Запит повинен бути спрямований до іншої URL-адреси, і при цьому метод запиту може змінитися на GET-запит. |
400 (Bad Request) | Сервер не може обробити запит через некоректний синтаксис клієнтського запиту. |
401 (Unauthorized) | Клієнт не автентифікований та не авторизований для доступу до запитуваного ресурсу. |
402 (Payment Required) | Зарезервований для майбутнього використання. |
403 (Forbidden) | Доступ заборонено. |
404 (Not Found) | Сервер не може знайти запитуваний ресурс. |
405 (Method Not Allowed) | Метод, вказаний у запиті, не підтримується для цього ресурсу. |
406 (Not Acceptable) | Сервер не може надати запитуваний ресурс у форматі, необхідному клієнту. |
407 (Proxy Authentication Required) | Клієнт повинен бути автентифікований за допомогою проксі-сервера, щоб отримати доступ до запитуваного ресурсу. |
408 (Request Timeout) | Сервер припинив обробку запиту через тайм-аут. |
409 (Conflict) | Конфлікт при обробці запиту (наприклад, при спробі створити ресурс, який вже існує). |
410 (Gone) | Затребуваний ресурс був видалений і більше не доступний. |
411 (Length Required) | Сервер не може обробити запит без вказівки Content-Length у заголовку. |
412 (Precondition Failed) | Один або кілька заголовків запиту не відповідають умовам, заданим у заголовку запиту If-Unmodified-Since або If-Match. |
413 (Payload Too Large) | Сервер відхиляє запит, тому що тіло запиту надто велике. |
414 (URI Too Long) | Сервер відхиляє запит, тому що запитуваний URI занадто довгий. |
415 (Unsupported Media Type) | Сервер відхиляє запит, оскільки формат запиту не підтримується. |
416 (Range Not Satisfiable) | Сервер не може задовольнити діапазон, вказаний у заголовку запиту Range. |
417 (Expectation Failed) | Цей код стану повертається, коли сервер не може виконати умови, зазначені у заголовку Expect запиту. |
418 (I'm a teapot) (не визначений у RFC 2616) | Жартівлива відповідь сервера. Розшифровується як Hyper Text Coffee Pot Control Protocol та ніколи не використовується в реальних умовах. |
419 (Authentication Timeout) (не визначено в RFC 2616) | Помилка перевірки CSRF. |
421 (Misdirected Reques) | Сервер отримав запит на неіснуючий домен. |
422 (Unprocessable Entity) | Помилка валідації даних на сервері. |
423 (Locked) | Ресурс заблоковано іншим користувачем чи процесом. |
424 (Failed Dependency) | Залежний ресурс недоступний. |
425 (Too Early) | Зарано для обробки запиту. |
426 (Upgrade Required) | Потрібне оновлення клієнта для роботи. |
428 (Precondition) | Required Для виконання запиту потрібне виконання передумови. |
429 (Too Many Requests) | Клієнт надсилає надто багато запитів. |
431 (Request Header Fields Too Large) | Розмір заголовків запиту перевищує допустимий ліміт. |
449 (Retry With) | Клієнт повинен надіслати запит на інший сервер. |
451 (Unavailable For Legal Reasons) | Доступ до ресурсу заборонено з юридичних причин. |
499 (Client Closed Request) | Клієнт закрив з'єднання. |
500 (Internal Server Error) | Внутрішня помилка сервера. Зазвичай це означає, що сервер зіткнувся з проблемою при обробці запиту клієнта. |
501 (Not Implemented) | Сервер не підтримує запит HTTP. Наприклад, якщо клієнт надіслав запит із методом PATCH, а сервер не підтримує цей метод. |
502 (Bad Gateway) | Сервер, який виконує запит від імені клієнта, отримав неправильну відповідь іншого сервера, який він звернувся для обробки запиту. |
503 (Service Unavailable) | Сервер тимчасово не може обробляти запити клієнта, зазвичай, через перевантаження або технічні роботи на сервері. |
504 (Gateway Timeout) | Сервер, який виконує запит від імені клієнта, не отримав відповіді від іншого сервера у відведений часовий інтервал. |
505 (HTTP Version Not Supported) | Сервер не підтримує версію протоколу HTTP, вказану у запиті клієнта. |
506 (Variant Also Negotiates) | Сервер виявив, що запитуваний ресурс має кілька уявлень, але клієнт не може вибрати будь-яке з них. |
507 (Insufficient Storage) | Сервер не може виконати запит через брак місця на диску. |
508 (Loop Detected) | Сервер виявив циклічне посилання під час обробки запиту. |
509 (Bandwidth Limit Exceeded) (не визначений у RFC 2616) | Ліміт пропускної спроможності на сервері досягнуто. |
510 (Not Extended) | Клієнт надіслав запит, який містить невідоме серверу розширення, яке сервер не може обробити. |
511 (Network Authentication Required) | Клієнт повинен надати автентифікаційні дані, щоб отримати доступ до мережного ресурсу, який запитується. |
520 (Unknown Error) | Невідома помилка. |
521 (Web Server Is Down) | Веб-сервер не працює. |
522 (Connection Timed Out) | З'єднання не відповідає. |
523 (Origin Is Unreachable) | Джерело недоступне. |
524 (A Timeout Occurred) | Час очікування минув. |
525 (SSL Handshake Failed) | Квітування SSL не вдалося. |
526 (Invalid SSL Certificate) | Недійсний сертифікат SSL. |
Заголовки відповіді містять додаткову інформацію, яка надсилається клієнту разом із відповіддю. Ця інформація може включати тип вмісту, довжину контенту, дату та час оновлення/публікації контенту, кеш-управління тощо.
Тіло відповіді містить дані, які були запитані клієнтом або іншу інформацію, яку сервер хоче надіслати клієнту.
Крім того, у HTTP-відповіді можуть використовуватися додаткові параметри, такі як cookie, які можуть використовуватися для збереження інформації між запитами та відповідями.
Теги: #HTTP-відповідь #відповідь-сервера
Так, тобі дуже сподобався контент на сайті, але... ти ніколи ні на що не підписуєшся, вірно? Будь ласка, зроби виняток для мене. Я сильно єбашу для того, щоб сайт не тільки ріс, але також був максимально якісним. Підтримай не проект - підтримай мене в моєму прагненні писати класно.