<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>https://infopedia.cz/index.php?action=history&amp;feed=atom&amp;title=HTTP</id>
	<title>HTTP - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="https://infopedia.cz/index.php?action=history&amp;feed=atom&amp;title=HTTP"/>
	<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=HTTP&amp;action=history"/>
	<updated>2026-05-17T07:52:34Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://infopedia.cz/index.php?title=HTTP&amp;diff=22794&amp;oldid=prev</id>
		<title>Filmedy: Nahrazení textu „\*\*([^ ][^*]*)\*\*“ textem „&#039;&#039;&#039;$1&#039;&#039;&#039;“</title>
		<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=HTTP&amp;diff=22794&amp;oldid=prev"/>
		<updated>2026-01-05T01:27:43Z</updated>

		<summary type="html">&lt;p&gt;Nahrazení textu „\*\*([^ ][^*]*)\*\*“ textem „&amp;#039;&amp;#039;&amp;#039;$1&amp;#039;&amp;#039;&amp;#039;“&lt;/p&gt;
&lt;a href=&quot;https://infopedia.cz/index.php?title=HTTP&amp;amp;diff=22794&amp;amp;oldid=15199&quot;&gt;Ukázat změny&lt;/a&gt;</summary>
		<author><name>Filmedy</name></author>
	</entry>
	<entry>
		<id>https://infopedia.cz/index.php?title=HTTP&amp;diff=15199&amp;oldid=prev</id>
		<title>InfopediaBot: Bot: AI generace (gemini-2.5-pro + Cache)</title>
		<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=HTTP&amp;diff=15199&amp;oldid=prev"/>
		<updated>2025-12-15T10:05:59Z</updated>

		<summary type="html">&lt;p&gt;Bot: AI generace (gemini-2.5-pro + Cache)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{K rozšíření}}&lt;br /&gt;
{{Infobox protokol&lt;br /&gt;
| název = Hypertext Transfer Protocol&lt;br /&gt;
| logo =&lt;br /&gt;
| obrázek = HTTP-logo.svg&lt;br /&gt;
| popisek = Oficiální logo protokolu HTTP&lt;br /&gt;
| plný_název = Hypertext Transfer Protocol&lt;br /&gt;
| rodina = Sada internetových protokolů (TCP/IP)&lt;br /&gt;
| účel = Přenos hypertextových dokumentů a dalších dat na [[World Wide Web|World Wide Webu]]&lt;br /&gt;
| port = 80 (HTTP), 443 (HTTPS)&lt;br /&gt;
| transportní_protokol = [[TCP]] (pro HTTP/1 a HTTP/2), [[UDP]] (pro HTTP/3 přes QUIC)&lt;br /&gt;
| standardy = [[RFC]] 1945 (HTTP/1.0)&amp;lt;br&amp;gt;[[RFC]] 2616 (HTTP/1.1)&amp;lt;br&amp;gt;[[RFC]] 7540 (HTTP/2)&amp;lt;br&amp;gt;[[RFC]] 9114 (HTTP/3)&lt;br /&gt;
| autor = [[Tim Berners-Lee]] a jeho tým v [[CERN]]&lt;br /&gt;
| rok_vydání = 1991&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hypertext Transfer Protocol&amp;#039;&amp;#039;&amp;#039; (zkratka &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039;) je bezstavový [[internetový protokol|aplikační protokol]] určený pro komunikaci na [[World Wide Web|World Wide Webu]]. Slouží k přenosu prakticky jakýchkoliv datových souborů, nejčastěji však [[HTML]] dokumentů, obrázků, skriptů a stylopisů mezi [[webový server|webovým serverem]] (poskytovatelem obsahu) a [[webový prohlížeč|webovým prohlížečem]] (klientem). HTTP je základním kamenem datové komunikace na webu.&lt;br /&gt;
&lt;br /&gt;
Protokol funguje na principu [[Klient-server|klient-server]], kde klient (např. prohlížeč) zasílá serveru požadavek (&amp;#039;&amp;#039;request&amp;#039;&amp;#039;) a server na něj odpovídá (&amp;#039;&amp;#039;response&amp;#039;&amp;#039;). Původní verze protokolu byly textové a snadno čitelné pro člověka, což usnadnilo jeho vývoj a ladění. Novější verze (HTTP/2 a HTTP/3) přešly na binární formát z důvodu vyšší efektivity.&lt;br /&gt;
&lt;br /&gt;
Bezpečná varianta protokolu se nazývá [[HTTPS]] (Hypertext Transfer Protocol Secure), která šifruje komunikaci pomocí [[Transport Layer Security|TLS]] (dříve [[Secure Sockets Layer|SSL]]) a chrání tak přenášená data před odposlechem a manipulací.&lt;br /&gt;
&lt;br /&gt;
== 📜 Historie a vývoj ==&lt;br /&gt;
Vývoj HTTP je úzce spjat s historií samotného World Wide Webu. Každá nová verze se snažila řešit nedostatky té předchozí a přizpůsobit se rostoucím nárokům na rychlost, efektivitu a bezpečnost webu.&lt;br /&gt;
&lt;br /&gt;
=== 🌐 Počátky a HTTP/0.9 ===&lt;br /&gt;
První, velmi jednoduchá verze protokolu, označovaná zpětně jako HTTP/0.9, vznikla v roce [[1991]] v [[CERN]] jako součást projektu World Wide Web, jehož autorem je Sir [[Tim Berners-Lee]]. Tato verze byla extrémně minimalistická:&lt;br /&gt;
*   Znala pouze jednu metodu: `GET`.&lt;br /&gt;
*   Požadavek se skládal z jednoho řádku: `GET /cesta/k/dokumentu.html`.&lt;br /&gt;
*   Serverova odpověď obsahovala pouze tělo požadovaného [[HTML]] dokumentu, bez jakýchkoliv hlaviček nebo stavových kódů.&lt;br /&gt;
*   Po odeslání odpovědi se spojení okamžitě uzavřelo.&lt;br /&gt;
&lt;br /&gt;
Tato verze sloužila výhradně k přenosu hypertextových dokumentů.&lt;br /&gt;
&lt;br /&gt;
=== 🚀 HTTP/1.0 (RFC 1945) ===&lt;br /&gt;
V roce [[1996]] byl protokol formalizován ve specifikaci [[RFC]] 1945 jako HTTP/1.0. Tato verze přinesla zásadní vylepšení, která položila základy moderního webu:&lt;br /&gt;
*   **Verzování:** Každý požadavek a odpověď obsahovaly informaci o verzi protokolu (např. `HTTP/1.0`).&lt;br /&gt;
*   **HTTP hlavičky:** Byl zaveden koncept hlaviček (&amp;#039;&amp;#039;headers&amp;#039;&amp;#039;), které umožnily přenášet metadata o požadavku i odpovědi (např. `Content-Type`, `User-Agent`).&lt;br /&gt;
*   **Stavové kódy:** Odpověď serveru nově začínala stavovým řádkem, který obsahoval číselný kód informující o výsledku zpracování požadavku (např. `200 OK` nebo `404 Not Found`).&lt;br /&gt;
*   **Nové metody:** Kromě `GET` byly přidány metody `HEAD` a `POST`.&lt;br /&gt;
*   **Přenos různých typů obsahu:** Díky hlavičce `Content-Type` mohl protokol přenášet nejen HTML, ale i obrázky, videa a další soubory.&lt;br /&gt;
&lt;br /&gt;
Nevýhodou HTTP/1.0 bylo, že pro každý jednotlivý požadavek (např. HTML soubor a každý obrázek v něm) bylo nutné navázat nové [[TCP]] spojení, což bylo neefektivní a zpomalovalo načítání stránek.&lt;br /&gt;
&lt;br /&gt;
=== ⚙️ HTTP/1.1 (RFC 2616 a novější) ===&lt;br /&gt;
Verze HTTP/1.1, standardizovaná v roce [[1999]] (a později několikrát revidovaná), se stala na dlouhou dobu dominantním protokolem na internetu. Přinesla klíčové optimalizace:&lt;br /&gt;
*   **Trvalá spojení (Persistent Connections):** Standardně bylo zavedeno tzv. &amp;#039;&amp;#039;keep-alive&amp;#039;&amp;#039; spojení, které umožnilo v rámci jednoho TCP spojení odeslat více požadavků a přijmout více odpovědí. Tím se výrazně snížila režie spojená s navazováním spojení.&lt;br /&gt;
*   **Pipelining:** Umožnil klientovi odeslat více požadavků najednou, aniž by musel čekat na odpovědi na ty předchozí. Server však musel odpovídat ve stejném pořadí, což vedlo k problému zvanému &amp;#039;&amp;#039;Head-of-line blocking&amp;#039;&amp;#039;.&lt;br /&gt;
*   **Hlavička `Host`:** Tato povinná hlavička umožnila provozovat více webových stránek na jedné [[IP adresa|IP adrese]] (tzv. [[Virtuální hosting]]).&lt;br /&gt;
*   **Chunked transfer encoding:** Umožnilo serveru posílat odpověď po částech, aniž by předem znal její celkovou velikost. To je užitečné pro dynamicky generovaný obsah.&lt;br /&gt;
*   **Vylepšené mechanismy pro [[Web cache|caching]]**.&lt;br /&gt;
&lt;br /&gt;
=== ✨ HTTP/2 (RFC 7540) ===&lt;br /&gt;
S rostoucí komplexností webových stránek začaly být limity HTTP/1.1 stále zřetelnější. V roce [[2015]] byl proto standardizován HTTP/2, který vycházel z experimentálního protokolu [[SPDY]] od společnosti [[Google]]. Jeho hlavní cíle byly snížení latence a zvýšení efektivity.&lt;br /&gt;
*   **Binární protokol:** Na rozdíl od textového HTTP/1.1, HTTP/2 používá binární rámce, které jsou pro stroje efektivnější na zpracování.&lt;br /&gt;
*   **Multiplexing:** Nejdůležitější novinka. Umožňuje posílat více požadavků a odpovědí souběžně v rámci jednoho TCP spojení, aniž by na sobě byly závislé. Tím se zcela eliminuje problém &amp;#039;&amp;#039;Head-of-line blocking&amp;#039;&amp;#039; na úrovni HTTP.&lt;br /&gt;
*   **Komprese hlaviček (HPACK):** Hlavičky, které se v mnoha požadavcích opakují, jsou efektivně komprimovány, což šetří přenesená data.&lt;br /&gt;
*   **Server Push:** Server může klientovi &amp;quot;vnutit&amp;quot; zdroje, o kterých předpokládá, že je bude potřebovat (např. poslat CSS soubor spolu s HTML stránkou), čímž se snižuje počet nutných požadavků.&lt;br /&gt;
&lt;br /&gt;
=== ⚡ HTTP/3 (RFC 9114) ===&lt;br /&gt;
I přes vylepšení HTTP/2 zůstal jeden problém: &amp;#039;&amp;#039;Head-of-line blocking&amp;#039;&amp;#039; na úrovni transportního protokolu TCP. Pokud se ztratí jeden [[TCP paket]], celé spojení musí čekat na jeho opětovné doručení, což zablokuje všechny multiplexované proudy v HTTP/2.&lt;br /&gt;
&lt;br /&gt;
HTTP/3, standardizovaný v roce [[2022]], tento problém řeší radikální změnou:&lt;br /&gt;
*   **Přechod na QUIC:** Místo TCP používá nový transportní protokol [[QUIC]], který běží nad [[UDP]].&lt;br /&gt;
*   **Eliminace TCP HoL blocking:** QUIC má proudy (streams) vestavěné přímo v sobě. Ztráta paketu v jednom proudu neovlivní ostatní proudy.&lt;br /&gt;
*   **Rychlejší navázání spojení:** QUIC kombinuje navázání spojení a [[TLS]] handshake, což snižuje počet nutných &amp;quot;round-tripů&amp;quot; a zrychluje načítání, zejména při prvním připojení (tzv. 0-RTT).&lt;br /&gt;
*   **Plynulá migrace spojení:** Pokud uživatel změní síť (např. přejde z {{Vlajka|Česko}} [[Wi-Fi]] na mobilní data), spojení se nepřeruší, protože je identifikováno unikátním ID, nikoliv kombinací IP adresy a portu.&lt;br /&gt;
&lt;br /&gt;
== 🔧 Jak HTTP funguje ==&lt;br /&gt;
HTTP je postaveno na jednoduchém modelu komunikace mezi klientem a serverem.&lt;br /&gt;
&lt;br /&gt;
=== 🤝 Model klient-server ===&lt;br /&gt;
1.  **Klient** (např. [[webový prohlížeč]], [[Web crawler|robot vyhledávače]]) sestaví a odešle HTTP požadavek na server. Požadavek specifikuje, jaký zdroj (např. webovou stránku, obrázek) a jakou akci si klient přeje provést.&lt;br /&gt;
2.  **Server** (např. [[Apache HTTP Server|Apache]], [[Nginx]]) přijme požadavek, zpracuje ho a na základě něj vygeneruje HTTP odpověď.&lt;br /&gt;
3.  **Odpověď** je zaslána zpět klientovi. Obsahuje stavový kód informující o výsledku operace a v případě úspěchu i požadovaná data (tělo odpovědi).&lt;br /&gt;
&lt;br /&gt;
=== ✉️ Struktura HTTP zprávy ===&lt;br /&gt;
Každá HTTP zpráva (požadavek i odpověď) se skládá ze startovacího řádku, nula nebo více hlaviček, prázdného řádku a volitelného těla zprávy.&lt;br /&gt;
&lt;br /&gt;
==== Požadavek (Request) ====&lt;br /&gt;
*   **Startovací řádek (Request Line):** Obsahuje tři části:&lt;br /&gt;
    1.  **Metoda:** Např. `GET`, `POST`. Určuje akci, která se má provést.&lt;br /&gt;
    2.  **URI (Uniform Resource Identifier):** Cesta k požadovanému zdroji na serveru, např. `/index.html`.&lt;br /&gt;
    3.  **Verze HTTP:** Např. `HTTP/1.1`.&lt;br /&gt;
*   **Hlavičky (Headers):** Dvojice klíč-hodnota, které poskytují dodatečné informace, např. `Host: www.example.com`, `User-Agent: Mozilla/5.0`.&lt;br /&gt;
*   **Tělo (Body):** Nepovinná část obsahující data, která se mají odeslat na server (např. data z vyplněného formuláře při metodě `POST`).&lt;br /&gt;
&lt;br /&gt;
==== Odpověď (Response) ====&lt;br /&gt;
*   **Stavový řádek (Status Line):** Obsahuje tři části:&lt;br /&gt;
    1.  **Verze HTTP:** Např. `HTTP/1.1`.&lt;br /&gt;
    2.  **Stavový kód:** Trojciferné číslo, např. `200`.&lt;br /&gt;
    3.  **Textový popis kódu:** Např. `OK`.&lt;br /&gt;
*   **Hlavičky (Headers):** Poskytují informace o odpovědi, např. `Content-Type: text/html`, `Content-Length: 1234`.&lt;br /&gt;
*   **Tělo (Body):** Obsahuje samotná data požadovaného zdroje (HTML kód, obrázek atd.).&lt;br /&gt;
&lt;br /&gt;
=== 🎯 Metody požadavku (Request Methods) ===&lt;br /&gt;
HTTP definuje několik metod, které specifikují požadovanou akci:&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;GET:&amp;#039;&amp;#039;&amp;#039; Požaduje reprezentaci určeného zdroje. Je to nejběžnější metoda.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;POST:&amp;#039;&amp;#039;&amp;#039; Odesílá data na server, aby vytvořila nový zdroj (např. odeslání formuláře, nahrání souboru).&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;PUT:&amp;#039;&amp;#039;&amp;#039; Nahrazuje cílový zdroj daty obsaženými v požadavku.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;DELETE:&amp;#039;&amp;#039;&amp;#039; Maže specifikovaný zdroj.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;HEAD:&amp;#039;&amp;#039;&amp;#039; Podobné jako `GET`, ale odpověď serveru neobsahuje tělo, pouze hlavičky. Používá se pro zjištění metadat o zdroji.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;OPTIONS:&amp;#039;&amp;#039;&amp;#039; Zjišťuje komunikační možnosti pro cílový zdroj (např. které metody jsou povoleny).&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;PATCH:&amp;#039;&amp;#039;&amp;#039; Aplikuje částečné modifikace na zdroj.&lt;br /&gt;
&lt;br /&gt;
=== ✅ Stavové kódy (Status Codes) ===&lt;br /&gt;
Stavové kódy jsou standardizované číselné odpovědi serveru, které jsou seskupeny do pěti tříd:&lt;br /&gt;
*   **1xx (Informační):** Požadavek byl přijat, proces pokračuje. (např. `100 Continue`)&lt;br /&gt;
*   **2xx (Úspěch):** Požadavek byl úspěšně přijat, pochopen a zpracován. (např. `200 OK`, `201 Created`)&lt;br /&gt;
*   **3xx (Přesměrování):** Pro dokončení požadavku je třeba provést další kroky, obvykle přesměrování na jinou [[URL]]. (např. `301 Moved Permanently`, `302 Found`)&lt;br /&gt;
*   **4xx (Chyba klienta):** Požadavek obsahuje chybnou syntaxi nebo nemůže být splněn. (např. `400 Bad Request`, `403 Forbidden`, `404 Not Found`)&lt;br /&gt;
*   **5xx (Chyba serveru):** Server selhal při plnění platného požadavku. (např. `500 Internal Server Error`, `503 Service Unavailable`)&lt;br /&gt;
&lt;br /&gt;
=== 🍪 Stavovost a cookies ===&lt;br /&gt;
HTTP je ze své podstaty &amp;#039;&amp;#039;&amp;#039;bezstavový protokol&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;stateless&amp;#039;&amp;#039;). To znamená, že každý požadavek je nezávislý a server si nepamatuje nic o předchozích požadavcích od stejného klienta. Pro aplikace, které potřebují udržovat kontext (např. nákupní košík nebo přihlášený uživatel), byl tento problém vyřešen zavedením [[HTTP cookie|HTTP cookies]]. Cookie je malý kousek dat, který server pošle klientovi, ten ho uloží a při každém dalším požadavku ho posílá zpět serveru. Server tak může identifikovat klienta a udržovat jeho stav.&lt;br /&gt;
&lt;br /&gt;
== 🔒 Bezpečnost: HTTP vs. HTTPS ==&lt;br /&gt;
Zásadní nevýhodou původního HTTP je, že veškerá komunikace probíhá v nešifrované, textové podobě. To znamená, že kdokoliv na síti mezi klientem a serverem (např. poskytovatel internetu, útočník ve veřejné [[Wi-Fi]] síti) může tuto komunikaci odposlouchávat (&amp;#039;&amp;#039;eavesdropping&amp;#039;&amp;#039;) a dokonce i modifikovat (&amp;#039;&amp;#039;man-in-the-middle attack&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Řešením je &amp;#039;&amp;#039;&amp;#039;HTTPS&amp;#039;&amp;#039;&amp;#039; (HTTP Secure), což je v podstatě HTTP komunikace zabalená do šifrovaného tunelu pomocí protokolu [[Transport Layer Security|TLS]]. HTTPS zajišťuje tři základní pilíře bezpečnosti:&lt;br /&gt;
1.  **Šifrování:** Data jsou nečitelná pro kohokoliv, kdo by je odposlouchával.&lt;br /&gt;
2.  **Integrita:** Zajišťuje, že data nebyla během přenosu změněna.&lt;br /&gt;
3.  **Autentizace:** Ověřuje identitu serveru, ke kterému se klient připojuje (pomocí [[Digitální certifikát|digitálních certifikátů]]), a chrání tak před phishingem a útoky typu man-in-the-middle.&lt;br /&gt;
&lt;br /&gt;
V současnosti je používání HTTPS považováno za standard pro všechny webové stránky, nejen pro ty, které pracují s citlivými daty.&lt;br /&gt;
&lt;br /&gt;
== 💡 Pro laiky ==&lt;br /&gt;
Představte si HTTP jako způsob, jakým si objednáváte v restauraci:&lt;br /&gt;
*   **Vy (klient):** Jste host, který si chce něco objednat. Váš mozek je jako váš [[webový prohlížeč]].&lt;br /&gt;
*   **Číšník (spojení):** Je prostředník, který přenáší vaše přání do kuchyně.&lt;br /&gt;
*   **Kuchyň (server):** Místo, kde se připravuje jídlo (zpracovávají se data).&lt;br /&gt;
*   **Požadavek (objednávka):** Když řeknete číšníkovi: &amp;quot;Prosím, jídelní lístek,&amp;quot; je to jako `GET /jidelni-listek`. Když mu dáte vyplněný lístek s objednávkou, je to jako `POST /objednavka`.&lt;br /&gt;
*   **Odpověď (jídlo a informace):**&lt;br /&gt;
    *   Číšník vám přinese jídelní lístek – to je odpověď s kódem `200 OK` a daty (obsahem lístku).&lt;br /&gt;
    *   Kdyby číšník řekl: &amp;quot;Omlouváme se, guláš došel,&amp;quot; je to jako odpověď `404 Not Found`.&lt;br /&gt;
    *   Kdyby řekl: &amp;quot;Promiňte, v kuchyni vypadl proud a nic vám teď nepřipravíme,&amp;quot; je to jako `500 Internal Server Error`.&lt;br /&gt;
*   **HTTPS:** Představte si, že svou objednávku neříkáte nahlas, ale šeptáte ji číšníkovi do ucha, aby nikdo jiný u stolu neslyšel, co si dáváte. To je šifrování – vaše komunikace je soukromá.&lt;br /&gt;
&lt;br /&gt;
== 🌐 Význam a budoucnost ==&lt;br /&gt;
HTTP je jedním z nejdůležitějších protokolů v historii [[internet]]u. Jeho jednoduchost a rozšiřitelnost mu umožnily stát se základem pro [[World Wide Web]] a umožnit tak globální sdílení informací a služeb. Ačkoliv původní verze již nevyhovují moderním nárokům, evoluce v podobě HTTP/2 a HTTP/3 ukazuje, že protokol je stále živý a přizpůsobuje se novým výzvám, jako je mobilní internet, streamování videa a požadavky na co nejnižší latenci. Budoucnost protokolu je spojena s dalším vylepšováním efektivity a bezpečnosti, přičemž protokol QUIC, na kterém je postaven HTTP/3, hraje klíčovou roli v dalším směřování vývoje.&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Http}}&lt;br /&gt;
{{Aktualizováno|datum=15.12.2025}}&lt;br /&gt;
[[Kategorie:Internetové protokoly]]&lt;br /&gt;
[[Kategorie:Aplikační vrstva]]&lt;br /&gt;
[[Kategorie:World Wide Web]]&lt;br /&gt;
[[Kategorie:Standardy IETF]]&lt;br /&gt;
[[Kategorie:Vytvořeno Gemini 2.5 Pro]]&lt;/div&gt;</summary>
		<author><name>InfopediaBot</name></author>
	</entry>
</feed>