Hypertextový prenosový protokol: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
d zmena poradia v Kategória:HTTP: " " pomocou použitia HotCat
presun z článku Hypermédium
Riadok 6:
 
HTTP je protokol definujúci ''požiadavky'' a ''odpovede'' medzi ''klientmi'' a ''servermi''. HTTP [[klient]] (označovaný ako ''user agent''), ako [[web browser|webový prehliadač]] zvyčajne začne požiadavku nadviazaním [[TCP]] spojenia na určenom [[port]]e vzdialeného stroja (štandardne port 80). HTTP [[server]] počúvajúci na danom porte čaká, kým klient pošle reťazec s požiadavkou ako "GET / HTTP/1.1" (ktorý žiada o zaslanie štartovacej stránky webservera) nasledovaný sériou hlavičiek podobných [[MIME]] opisujúcich detaily požiadavky a nasledovaných telesom ľubovoľných údajov. Niektoré hlavičky sú nepovinné, zatiaľ čo verzia HTTP/1.1 niektoré vyžaduje (ako názov stroja). Po prijatí požiadavky server pošle reťazec s odpoveďou ako "200 OK" nasledovanou hlavičkami spolu so samotnou správou, ktorej telo tvorí obsah požadovaného súboru, chybové hlásenie alebo iná informácia.
 
== Charakteristika a vývoj ==
Protokol všeobecne definuje pravidlá medzi dvoma partnermi. Definuje tvar prenášaných informácií, možnosti a náležitosti, požiadavky a odpovede. Hypertext Transfer Protokol (HTTP) je protokol aplikačnej vrstvy. Používa sa pre distribuované [[hypermédium|hypermediálne]] informačné systémy. V rámci služby [[WWW]] sa používa od roku 1991. Slúži na výmenu HTML dokumentov medzi klientom a serverom. WWW server sa často nazýva aj HTTP serverom.
 
Existuje viac verzií protokolu:
*HTTP/0.9:
** prvá verzia
** používa sa od roku 1990, dnes sa už nepoužíva
** otázka: iba metóda GET, bez dodatočných (meta-) informácií
** odpoveď: požadovaný dokument, takisto bez dodatočných informácií
** po prenesení odpovede sa spojenie ukončí
*HTTP/1.0
** definovaný v RFC 1945 z roku 1996
** mnoho rozšírení predchádzajúcej verzie; spätne kompatibilný
** otázka: pridané metódy POST a HEAD
** voliteľné ďalšie hlavičky v upravenom formáte MIME (napr. k dotazu: Date, Authorization, From, If-Modified-Since, Referer, User-Agent; k telu dotazu: Content-Encoding, Content-Length)
** voliteľné telo dotazu (entity body)
** odpoveď: pridaná hlavička:
** informácia o stave (status) odpovede
** voliteľné ďalšie hlavičky v upravenom formáte MIME [5] (napr. k odpovedi: Date, Location, WWW-Authenticate; k telu odpovede: Content-Encoding, Content-Length)
** voliteľné telo odpovede (entity body)
*HTTP/1.
** definovaný v RFC 2616 z roku 1999, dnes najčastejšie používaný
** dopĺňa možnosti HTTP/1.0 (hierarchické proxy, kešovanie, trvalé spojenia, virtuálne servery), spätne kompatibilný
** otázka: pridané metódy OPTIONS, PUT, DELETE, TRACE, CONNECT (ktoré sú zriedka používané)
** takmer dvojnásobný počet hlavičiek oproti HTTP/1.0
 
Protokol HTTP je postavený na princípe otázka-odpoveď. Táto komunikácia prebieha medzi [[server]]om a klientom. Každá aktivita musí byť vyvolaná klientom, pričom komunikácia so serverom prebieha cez [[TCP]] (používa sa port 80, ktorý ale nie je podmienkou).
 
Úplná otázka-odpoveď musí mať špecifikovanú metódu, URI (absolútna alebo relativná cesta k súboru alebo úplné [[URL]] dokumentu). Niekedy nasleduje po hlavičkách aj telo otázky oddelené jedným prázdnym riadkom.
 
Server podporujúci protokol 1.0 vráti odpoveď a spojenie ihneď uzavrie. Protokol 1.1 vytvára tzv. perzistentné spojenie a preto servery podporujúce verziu 1.1 spojenie hneď neuzavrú, ale chvíľu čakajú na ďalšie príkazy. Klient tak môže pokračovať v otázkach na ostatné prvky HTML stánky a spojenie ukončiť sám.
 
Odpoveď obsahuje verziu protokolu, kód odpovede a textovú hlášku odpovede. Ďalej obsahuje hlavičky, prázdny riadok (oddeľovač) a väčšinou aj telo odpovede.
 
== Druhy žiadostí HTTP ==