Ako funguje HTTP protokol?
sobes.tech AI
Odpoveď od AI
HTTP (Hypertext Transfer Protocol) — protokol aplikačnej vrstvy prenosu dát, používaný na získanie zdrojov, ako sú webové stránky. Funguje na modeli "klient-server".
Klient (zvyčajne prehliadač) odošle požiadavku serveru, ktorý požiadavku spracuje a odošle odpoveď.
Hlavné prvky HTTP správy:
-
Štart riadok: Určuje typ správy (žiadanka alebo odpoveď) a hlavné parametre.
- Žiadanka: Metóda (GET, POST, PUT, DELETE a ďalšie), cesta k zdroju, verzia protokolu.
- Odpoveď: Verzia protokolu, kód stavu (200 OK, 404 Not Found, 500 Internal Server Error a ďalšie), textový popis.
GET /index.html HTTP/1.1 // Príklad štartovného riadku žiadankyHTTP/1.1 200 OK // Príklad štartovného riadku odpovede -
Hlavičky (Headers): Obsahujú metainformácie o správe a tele správy. Každá hlavička je reprezentovaná dvojicou "NázovHlavičky: Hodnota".
- Hlavičky žiadanky: Host, User-Agent, Accept, Content-Type, Content-Length a ďalšie.
- Hlavičky odpovede: Content-Type, Content-Length, Server, Set-Cookie a ďalšie.
Host: example.com // Príklad hlavičky Host User-Agent: Mozilla/5.0 // Príklad hlavičky User-Agent -
Prázdny riadok: Oddelí hlavičky od tela správy.
-
Telo správy (Body): Obsahuje prenášané dáta. Môže chýbať v niektorých požiadavkách (napríklad GET) a odpovediach (napríklad 204 No Content). V požiadavkách s metódami POST alebo PUT telo zvyčajne obsahuje odosielané dáta. V odpovediach telo obsahuje požadovaný zdroj (napríklad HTML kód, obrázky, JSON).
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Hello!</h1> </body> </html>
Hlavné metódy HTTP:
| Metóda | Popis | Použitie |
|---|---|---|
| GET | Žiada zdroj z uvedeného URL. | Získanie dát, bez zmeny stavu servera. |
| POST | Odosiela dáta na spracovanie na server. | Odosielanie formulárov, nahrávanie súborov, vytváranie zdrojov. |
| PUT | Aktualizuje alebo vytvára zdroj podľa uvedeného URL. | Aktualizácia existujúcich zdrojov. |
| DELETE | Odstraňuje zdroj podľa uvedeného URL. | Odstraňovanie zdrojov. |
| HEAD | Žiada hlavičky zdroja bez jeho tela. | Získanie metainformácií o zdroji. |
HTTP je protokol bez udržiavania stavu (stateless). Každý požiadavok je nezávislý. Na udržiavanie stavu sa používajú mechanizmy ako cookies a relácie.