From Wikipedia, the free encyclopedia
HTTP (kratica za HyperText Transfer Protocol) je glavna metoda za prenos informacij na spletu. Protokol je prvotno namenjen objavljanju in prejemanju HTML strani.
Plast | Protokol |
aplikacijska plast | DNS, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SSH, |
predstavitvena plast | |
plast seje | |
transportna plast | DCCP, TCP, UDP, SCTP, RTP ... |
omrežna plast | IPv4, IPv6, ICMP, IGMP, ARP ... |
povezovalna plast | ECP, ATM, DDCMP, BSC, LAPB, LAPD, LLC, SDLC ... |
fizična plast | Token ring, Ethernet, FDDI, PPP, Wi-Fi ... |
Razvoj HTTP je koordiniral WWW konzorcij in delovne skupine za medmrežni inženiring. Rezultat je bila objava niza RFC-jev, predvsem RFC 2616, ki definira HTTP/1.1, torej različico v pogosti uporabi dandanes.
HTTP je [komunikacijski protokol] med odjemalci in strežniki. Odjemalec HTTP, na primer spletni brskalnik, navadno začne zahtevo tako, da vzpostavi TCP povezavo z izbranimi vrati na oddaljenem gostitelju (privzeta številka vrat je 80). HTTP strežnik, ki na teh vratih pričakuje, da bo odjemalec poslal svoj zahtevek, na primer »GET / HTTP/1.1« (ta zahtevek prosi za privzeto spletno stran na zadevnem strežniku), čemur sledi MIME sporočilo, podobno kot pri elektronski pošti, ki vsebuje več obveznih in neobveznih podatkov za informiranje strežnika (podatek o gostitelju »Host« je na primer obvezen), čemur lahko sledi neobvezno polje poljubnih podatkov. Ko strežnik prejme tak zahtevek in morebitno sporočilo, na to odgovori na primer z »200 OK« in lastnim sporočilom, katerega vsebina je na primer zahtevana datoteka, sporočilo o napaki ali pa kaka druga informacija.
HTTP strežniki naj bi podpirali zahtevka GET in HEAD, če je le možno tudi zahtevek OPTIONS.
Nahajališča HTTP in HTTPS strani so podana kot URL. Ta način so naredili za povezovanje spletnih strani.
HTTP se razlikuje od drugih komunikacijskih protokolov na osnovi TCP po tem, da ima različni različici:
V HTTP/0.9 in HTTP/1.0, odjemalec pošlje zahtevek strežniku in strežnik na to odgovori, nato se povezava zapre. HTTP/1.1 pa je podprta tudi trajna povezava. To omogoča odjemalcu da pošlje dodatne zahtevke, ne da bi bilo treba ponovno vzpostavljati povezavo. To tudi omogoča, da se pošlje več kot en zahtevek preden pride nazaj odgovor.
To metodo včasih imenujemo »Pipelining« ali »keep alive«. Nekateri odjemalci in nekateri strežniki, ki trdijo, da uporabljajo HTTP/1.0, lahko podpirajo tudi trajne povezave, in strežniki, ki podpirajo HTTP/1.1, lahko imajo izklopljeno podporo za le-to. Če strežnik v svojem odgovoru poda vrstico »Connection: close«, to pomeni da bo povezavo zaprl ko bo odgovoril na prvi zahtevek.
Tako HTTP strežniki kot odjemalci lahko zaprejo povezavo kadarkoli iz kakršnega koli razloga. To naredi HTTP protokol idealen za spletno okolje, kjer se spletne strani enega strežnika pogosto povezujejo na spletne strani z drugih strežnikov.
Zapiranje HTTP/1.1 povezave je lahko precej daljše opravilo (od 200 milisekund do nekaj sekund) kot zapiranje HTTP/1.0 povezave, ker prva navadno rabi trajajoče zapiranje (da se primerno obdelajo še tavajoči paketki še ne odgovorjenih zahtevkov), medtem ko se druga lahko zapre takoj, ko je poslan poln odgovor.
HTTP lahko povzroča razvijalcem precejšnje težave, ker HTTP sam po sebi ne podpira različnih stanj (ne obdrži podatkov čez več povezav). V izogib tej pomanjkljivosti se navadno uporabljajo piškotki.
HTTPS je zavarovana različica HTTP. Uporablja SSL in TLS za to, da zakodira in s tem zaščiti promet pred vmesnimi opazovalci. Ta komunikacijski protokol navadno uporablja vhod številka 443. SSL, ki je bil narejen za HTTP, je posebno primeren, saj omogoča zaščito tudi kadar prihaja informacija za kodiranje samo s strani strežnika.
"Povratne povezave", to so povezave na spletnih mestih, ki vodijo do vašega spletnega mesta, za večino iskalnikov so najpomembnejši dejavnik razvrstitve. Zato vplivajo na količino prejetega organskega prometa.[1]
Spodaj je primer izmenjave sporočil med HTTP stranko in HTTP strežnikom, ki se nahaja na www.primer.si, vrata 80.
Zahtevek odjemalca:
GET /index.html HTTP/1.1 Host: www.primer.si
(Temu sledi dvojni prelom vrstice.)
Strežnikov odziv:
HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: »3f80f-1b6-3e1cb03b« Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8
(Temu sledi prazna vrstica in besedilo zahtevane strani.)
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.