
Опис протоколу http.
HTTP, імовірно, найпростіший із протоколів прикладного рівня, як по синтаксису, так і по принципах побудови з'єднання.
Після встановлення TCP-каналу між клієнтом і сервером HTTP, клієнт відправляє на сервер запит. Загальна структура запиту виглядає наступним чином:
(Тут і далі <SP> позначає символ пробілу, /* line */ — позначення порожнього рядка, що закінчується парою <CRLF> — повернення каретки.)
METHOD <SP> Request-URI <SP> HTTP-Version [General-Header]
Date
Pragma
[Request-Header]
Authorization
From
If-Modified-Since
Referer
User-Agent
[Entity-Header]
Allow
Content-Encoding
Content-Length
Content-Type
Expires
Last-Modified
extension-header
/* line */
[Entity-Body]
Поле "METHOD" містить ідентифікатор методу звертання до HTTP-сервера. Метод визначає склад і структуру заголовків запиту, вид передачі і структуру параметрів запиту. Найбільш розповсюдженими методами є "GET" і "POST". Іноді також використовуються методи "HEAD", "DELETE", "PUT".
Метод "GET" запитує інформацію про ресурс, розташований за заданим URI. Як правило, запитувана інформація являє собою HTML, TXT або інший текстовий файл. Якщо URI асоційований з файлом, що виконується — сервісом CGI, процес CGI буде запущений, і клієнтові будуть передані результати стандартного потоку виводу цього процесу. Якщо ресурсові URI для роботи необхідні параметри, вони повинні бути зазначені в URI ресурсу.
Метод "POST", як правило, використовується для передачі клієнтом на сервер даних, що повинні бути оброблені ресурсом, зазначеним у URI. Даний метод найчастіше використовується для роботи з CGI-сервісом. Метод "POST" передає параметри ресурсові URI у тілі повідомлення, тому при його використанні не потрібно дотримувати ніяких обмежень на довжину переданого рядка параметрів. Відповіді на запити методом POST, як правило, не кешуються.
Метод "HEAD" аналогічний методові "GET", за винятком того, що клієнту повертається тільки заголовок повідомлення відповіді (скорочений "GET"). Цей метод, в основному, використовується для тестування гіперпосилань і перевірки доступу до ресурсів.
Метод "DELETE" використовується для видалення ресурсу певного URI.
Метод "PUT" використовується, коли клієнт бажає зберегти переданий на сервер ресурс з ідентифікатором URI.
Також протокол HTTP надає простий механізм аутентифікації користувача ресурсів WWW-сервера. Механізм побудований на обміні інформацією аутентифікації між клієнтом і сервером ресурсу. Механізм дозволяє вибирати схему аутентифікації і рівень таємності переданих даних.
Контрольні запитання
Яке призначення протоколу HTTP (Hypertext Transfer Protocol)?
Яке призначення WWW (World Wide Web)?
Яке призначення сервісу URI (Uniform Resource Identifier)?
З яких частин складається сервіс URI?
Яке призначення HyperText Markup Language (HTML)?
Яке призначення стандарту Common Gateway Interface (CGI)?
По якій моделі побудований протокол HTTP?
Який принцип роботи найпростішої схеми взаємодії між клієнтом і сервером http?
Який принцип роботи схеми взаємодії клієнта і сервера через проміжні об'єкти мережі?
Який принцип роботи схеми використання кеша?
Яка структура запиту між клієнтом і сервером http?