Ako koristite internet, vjerojatno ste naišli na izraz HTTP ili HTTPS. To je ujedno i najgledanije pismo, posebno s obzirom na milijarde web stranica koje su trenutno aktivne.
HTTP ili HyperText Transfer Protocol je akronim. Ovo služi i kao protokol na strani klijenta i kao poslužiteljski protokol, definirajući kako se poruke šalju i strukturiraju putem interneta.
Ključni za poneti
- HTTP 1.0 dopušta samo jedan zahtjev po vezi, dok HTTP 1.1 dopušta više zahtjeva.
- HTTP 1.1 podržava trajne veze, omogućujući brže učitavanje web stranice, dok HTTP 1.0 ne podržava.
- HTTP 1.1 ima učinkovitiju kompresiju zaglavlja od HTTP 1.0, što smanjuje korištenje propusnosti.
HTTP 1.0 protiv HTTP 1.1
HTTP 1.0 bila je prva verzija HTTP protokola, predstavljena 1996. To je jednostavan protokol bez statusa koji radi na bazi zahtjeva-odgovora. HTTP 1.1 najraširenija je verzija HTTP protokola, uvedena 1999. To je poboljšana verzija HTTP-a 1.0 koja uvodi nekoliko novih značajki, uključujući podršku za trajne veze, predmemoriju, cjevovod i kodiranje prijenosa u komadima.
Godine 1996. HTTP/1.0 službeno je predstavljen i priznat. Njegova je popularnost od tada naglo porasla.
HTTPv1.0 omogućuje samo rudimentarnu provjeru autentičnosti (kontrola izazov-odgovor); ključni problem s ovom tehnikom je taj što korisnička imena i lozinke nisu šifrirani, ostavljajući ih podložnima špijuniranju i bez vremenskih ograničenja.
Bilo je samo 16 statusnih kodova.
HTTP 1.1 također pruža postojane veze, što implicira da se mnogi odgovori i zahtjevi mogu poslati preko iste HTTP veze.
Metoda OPTIONS je nova u HTTP/1.1. Ovu tehniku može jednostavno koristiti HTTP klijent za otkrivanje mogućnosti HTTP poslužitelja. Prvenstveno se koristi u web-aplikacijama za dijeljenje resursa s više izvora.
Tabela za usporedbu
Parametri usporedbe | HTTP 1.0 | HTTP 1.1 |
---|---|---|
Statusni kod | Postoji 16 statusnih kodova koji se mogu definirati; međutim, skočni prozori s pogreškama nisu dovoljno precizni. | Izvješćivanje o pogreškama je brže i učinkovitije uz mogućnost navođenja 24 statusna koda. |
Mehanizam provjere autentičnosti | Budući da se lozinke i korisnička imena također šalju u čistom tekstu ili base64 kodiranom, osnovni mehanizam provjere autentičnosti nije siguran. | Budući da koristi preglednu provjeru autentičnosti i NTLM provjeru autentičnosti, relativno je siguran. |
caching | Zaglavlje If-Modified-Since koristi se za pomoć u predmemoriranju. | Koristi neka dodatna zaglavlja poput kontrole predmemorije. |
Optimizacija izvedbe | Podržava predmemoriju za brže posluživanje više stranica. | Mnoge optimizacije koriste se kao zaobilazno rješenje za zahtjev "šest veza po hostu" uključujući spriting, ulančavanje, umetanje i dijeljenje domene. |
Glavne značajke | Postoji samo jedan zahtjev i odgovor za svaku TCP vezu. | Omogućuje ponovnu upotrebu veze, što znači da se mnogi zahtjevi i odgovori mogu poslati i primiti za svaku TCP vezu. |
Što je HTTP 1.0?
HTTPv1.0 omogućuje samo rudimentarnu provjeru autentičnosti (kontrola izazov-odgovor); ključni problem s ovom tehnikom je taj što korisnička imena i lozinke nisu šifrirani, ostavljajući ih podložnima špijuniranju, a nema vremenskih ograničenja.
Svaka informacija dobivena špijuniranjem može se koristiti dugo vremena nakon što je dobivena. Klijent treba izračunati a Kontrolni zbroj lozinke, korisničkog imena i jednokratne vrijednosti, uključujući vrstu HTTP zahtjeva i traženi URI za važeći odgovor.
Budući da je HTTP1.0 trebao koristiti novu TCP vezu za svaki zahtjev, svaka žalba morala je platiti trošak uspostavljanja nove TCP veze.
Budući da je većina internetskih transakcija kratka i rijetko napreduje dalje od faze sporog početka, one ne iskorištavaju optimalno dostupnu propusnost.
Iako su neke implementacije verzije 1.0 koristile "keep-alive" zaglavlje kako bi zahtijevale da se veza može održati živom, to nije dobro funkcioniralo s proxyjima između.
Poslužitelj i dalje mora davati odgovore istim redoslijedom kao odgovarajući zahtjev za danu vezu. Klijent ne mora čekati odgovor na svoj prethodni zahtjev prije podnošenja drugog preko iste veze (cjevovod).
Smanjuje latenciju mrežnog povratnog putovanja dok također optimizira mogućnosti TCP protokola.
Što je HTTP 1.1?
Uvođenjem trajnih spojeva i cjevovoda rješava ovaj problem. HTTP/1.1 implicira da bi veza TCP-a trebala biti aktivna osim ako se izričito ne zatraži prekid veze pri korištenju trajnih veza.
Omogućuje klijentu podnošenje brojnih žalbi preko iste veze bez čekanja da se na svaku odgovori, značajno povećavajući performanse HTTP/1.1 u odnosu na HTTP/1.0.
Nažalost, ova tehnika optimizacije ima inherentno usko grlo.
Zato što se nekoliko podatkovnih paketa jednostavno ne može mimoići na svom putu. postoje trenuci kada zahtjev na početku reda ne uspije dobiti resurs koji zahtijeva, uzrokujući da svi zahtjevi iza njega budu blokirani.
To je poznato kao HOL head-of-line blocking i to je glavni problem kada je u pitanju poboljšanje performansi HTTP/1.1 veze.
Odvojene, paralelne TCP veze mogu riješiti problem, međutim, broj istodobnih TCP veza između klijenta i poslužitelja je ograničen, a svaka nova veza troši puno resursa.
Kontrola protoka u HTTP/1.1 temelji se na TCP-u. Kada se TCP uspostavi, i poslužitelj i klijent koriste svoje zadane postavke sustava za određivanje veličine međuspremnika.
Ako je međuspremnik primatelja djelomično pun, obavijestit će pošiljatelja o prozoru primanja ili količini slobodnog prostora u međuspremniku.
Glavne razlike između HTTP 1.0 i HTTP 1.1
- HTTP1.0 uglavnom se koristi u zaglavlju, ali HTTP1.1 se koristi za uvođenje sofisticiranijeg predmemorija pristup upravljanju.
- Postoji nešto gubitka propusnosti u HTTP1.0, ali ima manje gubitka propusnosti u HTTP 1.1.
- Polje zaglavlja Host podržavaju HTTP1.1 poruke zahtjeva i odgovora, iako HTTP1.0 smatra da svaki poslužitelj treba vezati zasebnu IP adresu.
- U HTTP1.0 postoji samo jedan zahtjev i odgovor za svaku TCP vezu, dok HTTP 1.1 omogućuje ponovnu upotrebu veze.
- Spriting, ulančavanje, umetanje i dijeljenje domene neke su od optimizacija koje se koriste u HTTP-u 1.1, dok HTTP 1.0 podržava predmemoriju za brže posluživanje web stranica.
- https://ieeexplore.ieee.org/abstract/document/1243114/
- http://journals.uic.edu/ojs/index.php/fm/article/view/2125
Zadnje ažuriranje: 16. kolovoza 2023
Sandeep Bhandari ima diplomu inženjera računala na Sveučilištu Thapar (2006.). Ima 20 godina iskustva u području tehnologije. Ima veliki interes za razna tehnička područja, uključujući sustave baza podataka, računalne mreže i programiranje. Više o njemu možete pročitati na njegovom bio stranica.
HTTP 1.1 uvođenje metode OPTIONS značajan je dodatak koji omogućuje klijentima da otkriju mogućnosti poslužitelja, posebno korisne za dijeljenje resursa s više izvora u web aplikacijama.
Mehanizmi provjere autentičnosti u HTTP 1.1 značajno su poboljšali sigurnost upotrebom sažetka i NTLM provjere autentičnosti, smanjujući rizik presretanja korisničkog imena i lozinke.
Podrška HTTP-a 1.1 za trajne veze mijenja pravila igre u smislu ubrzanja vremena učitavanja web-mjesta i optimizacije latencije mrežnog povratnog putovanja.
Uska grla i optimizacije u HTTP-u 1.1 naglašavaju potrebu za stalnim usavršavanjem web protokola kako bi se prevladali izazovi i poboljšala izvedba.
Tablica za usporedbu pruža jasan pregled razlika između HTTP 1.0 i 1.1, naglašavajući napredak u izvješćivanju o pogreškama i optimizaciji performansi.
HTTP protokol prešao je dug put od svog početka. Poboljšanja u verziji 1.1 značajno su utjecala na performanse i sigurnost.
Tehnički detalji o HTTP 1.0 i 1.1 pružaju vrijedan uvid u evoluciju protokola, posebno u smislu ponovne upotrebe veze i učinkovite kompresije zaglavlja.
Detaljno objašnjenje HTTP 1.1 koje se bavi izazovima prethodnih verzija, kao što je izbjegavanje troškova uspostavljanja nove TCP veze za svaki zahtjev, pokazuje napredak protokola.
Raščlamba HTTP-a 1.0 i 1.1 prikazuje postupna poboljšanja u rukovanju pogreškama, statusnim kodovima i predmemoriranju, naglašavajući važnost evolucije protokola.
Uvođenje stalnih veza i cjevovoda u HTTP 1.1 nedvojbeno je poboljšalo ukupnu izvedbu web transakcija.