Jak funguje protokol HTTP?
sobes.tech AI
Odpověď od AI
HTTP (Hypertext Transfer Protocol) — protokol aplikační vrstvy přenosu dat, používaný k získávání zdrojů, jako jsou webové stránky. Funguje na modelu "klient-server".
Klient (obvykle prohlížeč) odešle požadavek serveru, a server požadavek zpracuje a odešle odpověď klientovi.
Hlavní prvky HTTP zprávy:
-
Start řetězec: Určuje typ zprávy (požadavek nebo odpověď) a hlavní parametry.
- Požadavek: Metoda (GET, POST, PUT, DELETE a další), cesta k zdroji, verze protokolu.
- Odpověď: Verze protokolu, kód stavu (200 OK, 404 Not Found, 500 Internal Server Error a další), textový popis stavu.
GET /index.html HTTP/1.1 // Příklad start řetězce požadavkuHTTP/1.1 200 OK // Příklad start řetězce odpovědi -
Hlavičky (Headers): Obsahují metainformace o zprávě a těle zprávy. Každá hlavička je představována párem "NázevHlavičky: Hodnota".
- Hlavičky požadavku: Host, User-Agent, Accept, Content-Type, Content-Length a další.
- Hlavičky odpovědi: Content-Type, Content-Length, Server, Set-Cookie a další.
Host: example.com // Příklad hlavičky Host User-Agent: Mozilla/5.0 // Příklad hlavičky User-Agent -
Prázdný řádek: Odděluje hlavičky od těla zprávy.
-
Tělo zprávy (Body): Obsahuje přenášená data. Může chybět u některých požadavků (například GET) a odpovědí (například 204 No Content). U požadavků s metodami POST nebo PUT tělo obvykle obsahuje odesílaná data. U odpovědí tělo obsahuje požadovaný zdroj (například HTML kód, obrázky, JSON).
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Hello!</h1> </body> </html>
Hlavní metody HTTP:
| Metoda | Popis | Použití |
|---|---|---|
| GET | Požaduje zdroj z uvedeného URL. | Získání dat, aniž by se měnilo stav serveru. |
| POST | Odesílá data ke zpracování na server. | Odesílání formulářů, nahrávání souborů, vytváření zdrojů. |
| PUT | Aktualizuje nebo vytváří zdroj podle uvedeného URL. | Aktualizace existujících zdrojů. |
| DELETE | Odstraňuje zdroj podle uvedeného URL. | Odstraňování zdrojů. |
| HEAD | Požaduje hlavičky zdroje bez jeho těla. | Získání metainformací o zdroji. |
HTTP je protokol bez udržování stavu (stateless). Každý požadavek je nezávislý. Pro udržení stavu se používají mechanismy, jako jsou cookies a relace.