Http запит заголовки http запиту, методи http запиту, рядок http запиту, ресурси http запиту

Тема 4: HTTP запит: заголовки HTTP запиту, методи HTTP запиту, рядок HTTP запиту, ресурси HTTP запиту, приклади запитів

Http запит заголовки http запиту, методи http запиту, рядок http запиту, ресурси http запиту

HTTP запит: заголовки HTTP запиту, методи HTTP запиту, рядок HTTP запиту, ресурси HTTP запиту, приклади запитів

Структура HTTP запиту

  • рядок запиту, в якій вказується версія HTTP протоколу і HTTP метод запиту;
  • нуль або декілька заголовків, розділених між собою символом кінця рядка, в яких передаються інші HTTP праметри для успішного HTTP з'єднання;
  • вільну позицію, щоб відокремити службову інформацію від тексту повідомлення;
  • необов'язкове тіло повідомлення.

Ось так виглядає загальний синтаксис (загальна структура HTTP запиту):

Зверніть увагу, що абсолютний шлях не може бути порожнім; якщо оригінальний URI порожній, то він повинен запитуватися як «/» (кореневої каталог сервера). Початковий сервер повинен декодувати Request-URI (кодування в HTTP), щоб правильно інтерпретувати запит. Серверів слід відповідати на неприпустимі Request-URI відповідним кодом стану.

У запитах, які передаються далі, проксі-сервера ніколи не повинні перезаписувати частина «abs_path» запитуваної URI (Request-URI), за винятком випадку, зазначеного вище, коли порожній abs_path замінюється на «*», незалежно від внутрішньої реалізації проксі-сервера.

Початкові HTTP / 1.1 сервера повинні враховувати, що точний ресурс, ідентифікований інтернет-запитом визначається як Request-URI, так і полем заголовка Host. Початковий сервер, який розрізняє ресурси, засновані на запрошенном хості (іноді звані віртуальними хостами або vanity hostnames) повинен використовувати такі правила для визначення запитаного в HTTP / 1.1 запиті ресурсу:

  1. Якщо Request-URI - це absoluteURI, то хост - це частина Request-URI. Будь-яке значення поля заголовка Host в запиті ПОВИННО ігноруватися (нагадаю про вимоги HTTP).
  2. Якщо Request-URI - НЕ absoluteURI, а запит містить поле заголовка Host, то хост визначається значенням поля заголовка Host.
  3. Якщо хоста, визначеного правилами 1 або 2 цієї статті не існує на сервері, код стану відповіді повинен бути 400 (Зіпсований Запит, Bad Request).

Одержувачі HTTP / 1.0 запиту. в якому бракує поля заголовка Host, можуть намагатися використовувати евристику (наприклад, досліджувати шлях в URI на предмет унікальності на будь-якому з хостів) щоб визначити який точно ресурс запитується.

Поля заголовка HTTP запиту

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