Http - hypertext transfer protocol

Практичні інформаційні системи вимагають більшого, ніж примітивний пошук, модифікація і анотація даних. HTTP / 1.0 надає відкриту множину методів, які можуть бути використані для вказівки цілей запиту. Вони побудовані на дисципліні посилань, де для вказівки ресурсу, до якого повинен бути застосований даний метод, використовується Універсальний Ідентифікатор Ресурсів (Universal Resource Identifier - URI), у вигляді місцезнаходження (URL) або імені (URN). Формат повідомлень подібний з форматом Internet Mail або Multipurpose Internet Mail Extensions (MIME-Багатоцільовий Розширення Пошти Internet).

HTTP / 1.0 використовується також для комунікацій між різними призначеними для користувача агентами і шлюзами, що дають гіпермедіа доступ до існуючих Internet протоколів, таким як SMTP, NNTP, FTP, Gopher, і WAIS. HTTP / 1.0 розроблений, щоб дозволяти таким шлюзів, через proxy сервери, без будь-якої втрати даних передавати їх за допомогою цих більш ранніх протоколів.

HTTP ґрунтується на парадигмі запитів / відповідей. Запитуюча програма (зазвичай вона називається клієнт) встановлює зв'язок з обслуговуючою програмою-одержувачем (зазвичай називається сервер) і надсилає запит серверу в наступній формі: метод запиту, URI, версія протоколу, за якою слідує MIME-подібне повідомлення, що містить керуючу інформацію запиту, інформацію про клієнта і, можливо, тіло повідомлення. Сервер відповідає повідомленням, що містить рядок статусу (включаючи версію протоколу і код статусу - успіх або помилка), за якою слідує MIME-подібне повідомлення, що включає в себе інформацію про сервер, метаінформацію про зміст відповіді, і, ймовірно, саме тіло відповіді. Слід зазначити, що одна програма може бути одночасно і клієнтом і сервером. Використання цих термінів у даному тексті відноситься тільки до ролі, виконуваної програмою протягом даного конкретного сеансу зв'язку, а не до загальних функцій програми.

В Internet комунікації звичайно ґрунтуються на TCP / IP протоколах. Для WWW номер порту за замовчуванням - TCP 80, але також можуть бути використані і інші номери портів - це не виключає можливості використовувати HTTP як протокол верхнього рівня.

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