Sloj | Protokol |
---|---|
Aplikacijski | DNS, DHCP, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, RTP, rlogin, … |
Transportni | TCP, UDP, DCCP, SCTP, IL, RUDP, |
Mrežni | IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, … |
Podatkovni | Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, … |
HTTP (engl. Hyper Text Transfer Protocol) je glavna i najčešća metoda prijenosa informacija na Webu. Osnovna namjena ovog protokola je omogućavanje objavljivanja i prezentacije HTML dokumenata, tj. web stranica.
HTTP je samo jedan od protokola aplikativne razine koji postoje na Internetu. Drugi značajniji internetski protokoli na aplikacijskoj razini su: FTP, HTTP, HTTPS, IMAP, IRC, NNTP, POP3, RTP, SIP, SMTP, SNMP, SSH, SSL, Telnet, UUCP, BitTorrent ...
Razvoj i standardizaciju HTTP protokola nadgledaju World Wide Web Consortium (W3C) i radne skupine Internet Engineering Task Force.
HTTP je request/response protokol za komunikaciju između poslužitelja (servera) i klijenta. HTTP klijent, kao što je web preglednik najčešće inicira prijenos podataka nakon što uspostavi TCP (vidi TCP/IP) vezu s udaljenim web serverom na određenom portu.
Server konstantno osluškuje zahtjeve na određenom mrežnom komunikacijskom portu (tipično port 80), čekajući da klijent pošalje niz znakova (string), kao što je "GET / HTTP/1.1" - kojim će zahtijevati uspostavljanje komunikacije - a nakon toga i tekstualnu MIME poruku koja sadrži nekoliko slovnih nizova (zaglavlje) koji određuju aspekte zahtjeva, te paket neobaveznih podataka. Nakon "GET" poruke, klijent mora poslati niz znakova koji određuju adresu virtualnog poslužitelja, na primjer "HOST:www.example.com".
Zahtjev (engl. request) klijenta će rezultirati slanjem odgovora (engl. response) s poslužitelja, kao što je "200 OK" - nakon čega će server poslati i svoj paket podataka koji najčešće sadrži traženu datoteku ili poruku o grešci. Odmah po ispunjenju zahtjeva klijenta, server će prekinuti komunikaciju.
HTTP se razlikuje od ostalih TCP protokola kao što je npr. FTP, po tome što se konekcija i komunikacija sa serverom prekida odmah nakon izvršenja zahtjeva klijenta (isporučenog paketa traženih podataka). Zbog ovoga je HTTP idealan za Web, gdje je stranica obično povezana s drugim stranicama na drugim poslužiteljima. Ova karakteristika HTTP protokola povremeno stvara probleme web dizajnerima, s obzirom na to da nedostatak "perzistentne konekcije" s poslužiteljem moraju nadoknaditi uporabom drugih metoda za očuvanjem korisničkog "stanja". Jedna od tih metoda uključuje uporabu HTTP kolačića.
HTTPS je sigurna verzija HTTP protokola, koja koristi SSL/TLS za zaštitu i skrivanje prometa, odnosno podataka koji se razmjenjuju između klijenta i poslužitelja. Ovaj protokol obično koristi TCP port 443. SSL (donekle) omogućava zaštitu komunikacije, čak i u slučaju kada je samo jedna strana (obično poslužitelj) autentificirana.
Lokacija HTTP (i HTTPS) dokumenata se određuje pomoću URL adrese. URL adresna sintaksa je kreirana posebno za poučavanje web stranica.