Назва: | Hypertext Transfer Protocol |
---|---|
Узровень (па мадэлі OSI): | Прыкладны |
Сямейства: | TCP/IP |
Створаны ў: | 1992 г. |
Порт/ID: | 80/TCP |
Спецыфікацыя: | RFC 1945, RFC 2616 |
Асноўныя рэалізацыі (кліенты): | Вэб-браўзеры, напрыклад Mozilla Firefox, Opera, Google Chrome, Internet Explorer і інш. |
Асноўныя рэалізацыі (серверы): | Apache, IIS і інш. |
HTTP (англ.: HyperText Transfer Protocol — «пратакол перадачы гіпэртэксту») — пратакол прыкладнога ўзроўню перадачы даных (першапачаткова, у выглядзе гіпертэкставых дакументаў). Асновай HTTP з’яўляецца тэхналогія «кліент-сервер», гэта значыць мяркуецца існаванне спажыўцоў (кліентаў), якія ініцыююць злучэнне і пасылаюць запыт, і пастаўшчыкоў (сервераў), якія чакаюць злучэння для атрымання запыту, здзяйсняюць неабходныя дзеянні і вяртаюць назад паведамленне з вынікам.
HTTP у цяперашні час паўсюдна выкарыстоўваецца ў сусветнай павуціне для атрымання інфармацыі з вэб-сайтаў. У 2006 годзе ў Паўночнай Амерыцы доля HTTP-трафіка перавысіла долю P2P-сетак і склала 46 %, з якіх амаль палова — перадача патокавага відэа і гуку[1]. HTTP выкарыстоўваецца таксама ў якасці «транспарту» для іншых пратаколаў прыкладнога ўзроўню, як то SOAP, XML-RPC, WebDAV.
Асноўным аб’ектам маніпуляцыі ў HTTP з’яўляецца рэсурс, на які паказвае URI (па-англійску: Uniform Resource Identifier) у запыце кліента. Звычайна такімі рэсурсамі з’яўляюцца файлы, якія захоўваюцца на серверы, але імі могуць быць лагічныя аб’екты або нешта абстрактнае. Асаблівасцю пратакола HTTP з’яўляецца магчымасць паказаць у запыце і адказе спосаб прадстаўлення аднаго і таго ж рэсурсу паводле розных параметраў: фармату, кадзіроўкі, мовы і інш., для чаго выкарыстоўваецца HTTP-загаловак. Менавіта дзякуючы магчымасці ўказання спосабу кадзіравання паведамлення кліент і сервер могуць абменьвацца двайковымі данымі, хоць дадзены пратакол з’яўляецца тэкставым.
Аналагічнымі пратаколамі для HTTP з’яўляюцца FTP і SMTP. Абмен паведамленнямі ідзе па звычайнай схеме «запыт-адказ». Для ідэнтыфікацыі рэсурсаў HTTP выкарыстоўвае глабальныя URI. У адрозненне ад многіх іншых пратаколаў, HTTP не захоўвае свайго стану. Гэта азначае адсутнасць захавання прамежкавага стану паміж парамі «запыт-адказ». Кампаненты, якія выкарыстоўваюць HTTP, могуць самастойна ажыццяўляць захаванне інфармацыі аб стане, звязанай з апошнімі запытамі і адказамі (напрыклад, «кукі» на баку кліента, «сесіі» на баку сервера). Браўзер, які пасылае запыты, можа адсочваць затрымкі адказаў. Сервер можа захоўваць IP-адрасы і загалоўкі запытаў апошніх кліентаў. Аднак сам пратакол не ведае аб папярэдніх запытах і адказах, у ім не прадугледжана ўнутраная падтрымка стану, да яго не прад’яўляюцца такія патрабаванні.