Movatterモバイル変換


[0]ホーム

URL:


Пређи на садржај
Википедија
Претрага

HTTP

С Википедије, слободне енциклопедије
TCP/IP
Слој апликације
DHCP  • DHCPv6  • DNS  • FTP  • HTTP  • IMAP  • IRC  • LDAP  • MGCP  • NNTP  • BGP  • NTP  • POP  • RPC  • RTP  • RTSP  • RIP  • SIP  • SMTP  • SNMP  • SOCKS  • SSH  • Telnet  • TLS/SSL  • XMPP  • (више)
Транспортни слој
TCP  • UDP  • DCCP  • SCTP  • RSVP  • (више)
Слој мреже
IP (IPv4  • IPv6)  • ICMP  • ICMPv6  • ECN  • IGMP  • IPsec  • (више)
Слој везе
ARP/InARP  • NDP  • OSPF  • Tunnels (L2TP)  • PPP  • Media access control (Ethernet  • DSL  • ISDN  • FDDI)  • (више)

HTTP (енгл.HyperText Transfer Protocol) јемрежни протокол који припадаслоју апликацијеОСИ референтног модела, представља главни и најчешћи метод преноса информација навебу.[1] Основна намена овог протокола је испоручивањеHTML докумената, тј. веб страница. HTTP је само један одинтернет протокола. Развој и стандардизацију HTTP протокола надгледајуW3C иInternet Engineering Task Force.

Развој HTTP-а је покренуоТим Бернерс-Ли уCERN-у 1989. године и сажет је у једноставан документ који описује понашање клијента и сервера који користе прву верзију HTTP протокола која је названа 0.9.[2]

Та прва верзија HTTP протокола убрзо је еволуирала у разрађенију верзију која је била прва верзија према далекој будућој верзији 1.0.[3]

Развој раних HTTPзахтева за коментаре (RFC) започео је неколико година касније и био је то координирани напорРадне групе за интернет инжењеринг (IETF) иWWW Конзорцијум (W3C), а рад се касније преселио на IETF.

HTTP/1 је финализован и потпуно документован (као верзија 1.0) 1996. године.[4] On je развијен као верзија 1.1 1997. године, а затим су његове спецификације ажуриране 1999. и 2014. године.[5]

Његову безбедну варијанту под називомHTTPS користи више од 76% веб-сајтова.[6]

HTTP/2 је ефикаснији израз HTTP-ове семантике „на жици“ и објављен је 2015. године; користи га више од 45% веб локација;[7] сада га подржавају скоро сви веб прегледачи (96% корисника)[8] и главни веб сервери прекобезбедности транспортног слоја (TLS) користећи проширењепреговарања протокола апликационог слоја (ALPN)[9] где је потребанTLS 1.2 или новији протокол.[10][11]

HTTP/3 је предложени наследник HTTP/2;[12][13] користи га више од 20% веб локација;[14] сада га подржавају многи веб претраживачи (73% корисника).[15] HTTP/3 користиQUIC уместоTCP за основни транспортни протокол. Као и HTTP/2, он не застарева претходне главне верзије протокола. Подршка за HTTP/3 је прво додата уCloudflare иГугл кроуму,[16][17] и такође је омогућена уМозила фајерфоксу.[18]

HTTP протокол

[уреди |уреди извор]

HTTP је протокол за комуникацију измеђусервера и клијента, који функционише по принципузахтев/одговор. HTTP клијент, који је најчешћевеб прегледач, иницира пренос података након што успоставиTCP/IP везу с удаљеним веб-сервером на одређеном порту.Сервер константно ослушкује захтеве на одређеном мрежном комуникацијском порту (типичнопорт 80), чекајући да се клијент повеже и пошаље свој захтев. Захтев се састоји од основне HTTP команде (чија је синтакса прописана стандардом и која се састоји од назива команде, имена траженог документа и верзије подржаног HTTP-а) и заглавља које се састоји од одређеног броја редова текста који поближе одређују аспекте захтева.

Захтев клијента се обрађује на серверу и, у зависности од исправности захтева и могућности задовољавања истог, клијенту се шаље одговарајући одговор. Одговор се састоји од извештаја о статусу захтева (који се састоји од троцифреног кода и кратког дескриптивног текста статуса, нпр.200 ОК) и од конкретног одговора, уколико је захтев могуће задовољити. Одговор се састоји од заглавља, које је исте синтаксе као и заглавље захтева и даје основне податке о природи одговора, и од евентуалног конкретног садржаја који се тражио у захтеву. У зависности од верзије HTTP протокола као и од заглавља захтева, веза се може након тога прекинути, а може се иста веза искористити за слање новог захтева, ради уштеде времена.

HTTP је протоколапликационог слоја дизајниран у оквиру пакетаИнтернет протокола. Његова дефиниција претпоставља основни и поуздан протоколтранспортног слоја,[19] стога се обично користиТрансмисиони контролни протокол (TCP). Међутим, HTTP се може прилагодити да користи непоуздане протоколе као што јеUDP, на пример уHTTPU иЈедноставан протокол откривања сервиса (SSDP).

HTTP ресурси се идентификују и налазе на мрежи помоћуУниформног ресурсног локатора (URL), користећи шемеУниформних ресурсних идентификатора (URI)http иhttps. Као што је дефинисано у RFC 3986, URI су кодирани каохипервезе уHTML документима, тако да формирају међусобно повезанехипертекстуалне документе.

УHTTP/1.0 засебнавеза са истим сервером се прави за сваки захтев за ресурсом.[20]

УHTTP/1.1 уместо тога TCP веза се може поново користити за више захтева за ресурсе (тј. HTML странице, оквири, слике,скрипте,табеле стилова итд.).[21][22]

HTTP/1.1 комуникације стога доживљавају мањекашњења, јер успостављање TCP веза представља знатне трошкове, посебно у условима великог саобраћаја.[23]

HTTP/2 је ревизија претходног HTTP/1.1 како би се одржао исти клијент-сервер модел и исте методе протокола, али са овим разликама у редоследу:

  • да се користи компримовани бинарни приказ метаподатака (HTTP заглавља) уместо текстуалног, тако да заглавља захтевају много мање простора;
  • да користите једну TCP/IP (обичношифровану) везу по приступном домену сервера уместо 2 до 8 TCP/IP веза;
  • да се користи један или више двосмерних токова по TCP/IP конекцији у којој се HTTP захтеви и одговори рашчлањују и преносе у малим пакетима да би се скоро решио проблем HOLB-а (блокирања зачеља линије).[note 1]
  • да би се додала могућност потискивања којом се омогућава серверској апликацији да шаље податке клијентима кад год су нови подаци доступни (без присиљавања клијената да повремено захтевају нове податке од сервера коришћењем методаанкетирања).[24]

Пример

[уреди |уреди извор]

Пример једног захтева за документ од стране клијента:

GET /index.html HTTP/1.1Host: www.example.com

Пример одговора на HTTP захтев:

HTTP/1.1 200 OKDate: Mon, 23 May 2005 22:38:34 GMTServer: Apache/1.3.27 (Unix)  (Red-Hat/Linux)Last-Modified: Wed, 08 Jan 2003 23:11:55 GMTEtag: "3f80f-1b6-3e1cb03b"Accept-Ranges: bytesContent-Length: 438Connection: closeContent-Type: text/html; charset=UTF-8...

Три тачке означавају садржај траженог документа.

HTTPS је верзија HTTP протокола која користи алгоритам SSL/TLS за заштиту садржаја захтева и одговора од евентуалног прислушкивања. Овај протокол обично користи порт 443.

Локација HTTP (и HTTPS) докумената се одређује помоћуURL адресе.

Историја

[уреди |уреди извор]
Тим Бернерс-Ли

Терминхипертекст је сковаоТед Нелсон 1965. у пројектуКсанаду, што је заправо било инспирисано визијомВаневара Буша из 1930-их о систему „мемекс“ за проналажење информација и управљање заснованог на микрофилмовима, описаном у његовом есеју из 1945. године „Како можемо да мислимо“.Тим Бернерс-Ли и његов тим уCERN-у су заслужни за изум оригиналног HTTP-а, заједно са HTML-ом и припадајућом технологијом завеб сервер и корисничкиинтерфејс клијента који се зовевеб претраживач. Бернерс-Ли је први пут предложио пројекат „WorldWideWeb” 1989. године, сада познат каоWorld Wide Web.

Први веб сервер је покренут 1990. године.[25][26] Коришћени протокол је имао само један метод, односно GET, који би захтевао страницу са сервера.[27] Одговор са сервера је увек била HTML страница.[2]

Преглед HTTP прекретничких верзија

[уреди |уреди извор]
ВерзијаГодина увођењаТренутни статус
HTTP/0.91991Застарело
HTTP/1.01996Застарело
HTTP/1.11997Стандард
HTTP/22015Стандард
HTTP/32020Нацрт

Види још

[уреди |уреди извор]

Напомене

[уреди |уреди извор]
  1. ^У пракси, ови токови се користе као вишеструке TCP/IP подвезе замултиплексирање истовремених захтева/одговора, чиме се у великој мери смањује број стварних TCP/IP веза на страни сервера, са 2..8 по клијенту на 1, и омогућава много више клијената који се могу симултано услужити.

Референце

[уреди |уреди извор]
  1. ^Fielding, Roy T.; Gettys, James; Mogul, Jeffrey C.; Nielsen, Henrik Frystyk; Masinter, Larry; Leach, Paul J.; Berners-Lee, Tim (јун 1999).Hypertext Transfer Protocol – HTTP/1.1.IETF.doi:10.17487/RFC2616Слободан приступ. RFC 2616. CS1 одржавање: Формат датума (веза)
  2. ^абTim Berner-Lee (1991-01-01).„The Original HTTP as defined in 1991”.www.w3.org (на језику: енглески). World Wide Web Consortium. Приступљено2010-07-24. 
  3. ^Tim Berner-Lee (1992).„Basic HTTP as defined in 1992”.www.w3.org (на језику: енглески). World Wide Web Consortium. Приступљено2021-10-19. 
  4. ^InRFC 1945. That specification was then overcome by HTTP/1.1.
  5. ^RFC 2068 (1997) was obsoleted byRFC 2616 in 1999, which was likewise replaced byRFC 7230 in 2014.
  6. ^„Usage Statistics of Default protocol https for websites”.w3techs.com. Приступљено2021-11-03. 
  7. ^„Usage Statistics of HTTP/2 for websites”.w3techs.com. Приступљено2021-11-02. 
  8. ^„Can I use... Support tables for HTML5, CSS3, etc”.caniuse.com. Приступљено2021-11-02. 
  9. ^„Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension”. IETF. јул 2014.RFC 7301Слободан приступ. CS1 одржавање: Формат датума (веза)
  10. ^Belshe, M.; Peon, R.; Thomson, M.„Hypertext Transfer Protocol Version 2, Use of TLS Features”. Архивирано изоригинала 15. 07. 2013. г. Приступљено2015-02-10. 
  11. ^Benjamin, David.„Using TLS 1.3 with HTTP/2”.tools.ietf.org (на језику: енглески). Приступљено2020-06-02. „This lowers the barrier for deploying TLS 1.3, a major security improvement over TLS 1.2. 
  12. ^Bishop, Mike (2. 2. 2021).„Hypertext Transfer Protocol Version 3 (HTTP/3)”.tools.ietf.org (на језику: енглески). Приступљено2021-04-07. CS1 одржавање: Формат датума (веза)
  13. ^Cimpanu, Catalin.„HTTP-over-QUIC to be renamed HTTP/3 | ZDNet”.ZDNet (на језику: енглески). Приступљено2018-11-19. 
  14. ^„Usage Statistics of HTTP/3 for websites”.w3techs.com. Приступљено2021-11-02. 
  15. ^„Can I use... Support tables for HTML5, CSS3, etc”.caniuse.com. Приступљено2021-11-02. 
  16. ^Cimpanu, Catalin (26. 9. 2019).„Cloudflare, Google Chrome, and Firefox add HTTP/3 support”.ZDNet. Приступљено27. 9. 2019. CS1 одржавање: Формат датума (веза)
  17. ^„HTTP/3: the past, the present, and the future”.The Cloudflare Blog (на језику: енглески). 2019-09-26. Приступљено2019-10-30. 
  18. ^„Firefox Nightly supports HTTP 3 - General - Cloudflare Community”. 2019-11-19. Архивирано изоригинала 06. 06. 2020. г. Приступљено2020-01-23. 
  19. ^„Overall Operation”.RFC 2616. p. 12. sec. 1.4.doi:10.17487/RFC2616Слободан приступ. RFC 2616. 
  20. ^„Overall Operation”.RFC 1945. pp. 6–8. sec. 1.3.doi:10.17487/RFC1945Слободан приступ. RFC 1945. 
  21. ^„Connection Management: Connection”.RFC 7230, HTTP/1.1: Message Syntax and Routing. pp. 51–52. sec. 6.1.doi:10.17487/RFC7230Слободан приступ. RFC 7230. 
  22. ^„Connection Management: Persistence”.RFC 7230, HTTP/1.1: Message Syntax and Routing. pp. 52–53. sec. 6.3.doi:10.17487/RFC7230Слободан приступ. RFC 7230. 
  23. ^„Classic HTTP Documents”. W3.org. 1998-05-14. Приступљено2010-08-01. 
  24. ^„HTTP/2 Protocol Overview”.RFC 7540, Hypertext Transfer Protocol Version 2 (HTTP/2). p. 5. sec. 2.doi:10.17487/RFC7540Слободан приступ. RFC 7540. 
  25. ^„Invention Of The Web, Web History, Who Invented the Web, Tim Berners-Lee, Robert Cailliau, CERN, First Web Server”.LivingInternet (на језику: енглески). Приступљено2021-08-11. 
  26. ^Berners-Lee, Tim (1990-10-02).„daemon.c - TCP/IP based server for HyperText”.www.w3.org. Приступљено2021-08-11. 
  27. ^Berners-Lee, Tim.„HyperText Transfer Protocol”.World Wide Web Consortium. Приступљено31. 8. 2010. CS1 одржавање: Формат датума (веза)

Литература

[уреди |уреди извор]

Спољашње везе

[уреди |уреди извор]
Pozadina
Podteme
Aplikacije
Povezane teme
Standardi
Sintaksne i pomoćne tehnologije
Šeme, ontologije i pravila
Semantička anotacija
Opšti rečnik
Званично
Незванично
Државне
Остале
Портал:
HTTP насродним пројектима Википедије:
Медији на Остави
Подаци на Википодацима
Преузето из „https://sr.wikipedia.org/w/index.php?title=HTTP&oldid=30553378
Категорије:
Сакривене категорије:

[8]ページ先頭

©2009-2026 Movatter.jp