Вступление:Протокол HTTP (Hypertext Transfer Protocol, протокол передачі гіпертекстів) — це протокол прикладного рівня для розподілених гіпертекстових інформаційних систем. Крім передачі гіпертекстів він може застосовуватися й в інших областях, таких, як сервери імен і розподілені системи керування об'єктами, але для нас важливо те, що на цьому протоколі з моменту своєї появи в 1990 р. і донині базується World Wide Web.
HTTP є протоколом типу запит/відгук. Клієнт посилає серверу запит, що складається з типу запиту, URI і версії протоколу, за яких треба повідомлення, що містить модифікатори запиту, клієнтську інформацію й, можливо, тіло запиту. Сервер відповідає рядком стану, що містить версію протоколу й код стану, за яким слідує повідомлення, що містить серверну інформацію, метаінформацію й, можливо, тіло повідомлення.
У дійсності, ситуація звичайно є більше складною через участь у процесі обміну інформацією посередників між клієнтом і сервером. Існують три таких посередники: прокси-сервер, шлюз і тунель:
• Прокси-Сервер (або сервер повноважень) приймає запит клієнта, включаючи повний URI, переписує все повідомлення або частина його й передає виправлений запит серверу, зазначеному в URI.
• Шлюз розташовується над сервером і при необхідності транслює запити до протоколу більше низького рівня, підтримуваний сервером.
• Тунель не змінює переданих повідомлень, а використовується при передачі даних через посередника типу брандмауера (firewall).