Intern
Co je to HTTP?
sobes.tech AI
Odpověď od AI
Protokol přenosu hypertextu. Aplikační síťový protokol pro výměnu dat na úrovni aplikační vrstvy.
Hlavní vlastnosti:
- Architektura klient-server: Klient (například prohlížeč) odešle požadavek na server, server požadavek zpracuje a vrátí odpověď.
- Bez udržování stavu (stateless): Každý požadavek je zpracováván nezávisle na předchozích. Stav relace je udržován na vyšších úrovních (například pomocí cookie).
- Používá TCP: Výchozí přenosový protokol je TCP, který zajišťuje spolehlivou doručitelnost dat.
- Port 80: Výchozí port pro HTTP.
- Metody požadavků (HTTP methods/verbs): Určují typ akce, kterou je třeba provést nad zdrojem.
GET: Žádost o data z určeného zdroje.POST: Odeslání dat ke zpracování nebo vytvoření nového zdroje.PUT: Aktualizace stávajícího zdroje nebo vytvoření nového podle určeného URI.DELETE: Odstranění určeného zdroje.PATCH: Částečná aktualizace zdroje.HEAD: Žádost o hlavičky odpovědi, podobně jako GET, ale bez těla odpovědi.OPTIONS: Žádost o informace o dostupných metodách a dalších možnostech spojení pro cílový zdroj.
- Kódy stavu odpovědi (Status Codes): Tříciferná čísla označující výsledek požadavku.
1xx: Informační2xx: Úspěšné -200 OK3xx: Přesměrování4xx: Chyba klienta -404 Not Found5xx: Chyba serveru -500 Internal Server Error
Struktura HTTP zprávy:
| Část | Požadavek (Request) | Odpověď (Response) |
|---|---|---|
| Úvodní řádek | Metoda URI Verze HTTP (například GET / HTTP/1.1) |
Verze HTTP Kód stavu Fáze stavu (například HTTP/1.1 200 OK) |
| Hlavičky | Pár "Jméno-Hodnota" (například Host: example.com) |
Pár "Jméno-Hodnota" (například Content-Type: text/html) |
| Prázdný řádek | Odděluje hlavičky od těla. | Odděluje hlavičky od těla. |
| Tělo | Nepovinné. Obsahuje data k odeslání (například formuláře). | Nepovinné. Obsahuje požadovaná data (například HTML stránku). |
Příklad HTTP požadavku:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Příklad HTTP odpovědi:
HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
<!DOCTYPE html>
<html>
<head>
<title>Index Page</title>
</head>
<body>
HelloWorld!
</body>
</html>
Používá se k přenosu hypermediálních dokumentů (HTML, obrázky, videa) na World Wide Web. HTTPS je zabezpečená verze HTTP s použitím šifrování (SSL/TLS).