Kuidas töötab HTTP protokoll?
sobes.tech AI
Vastus AI-lt
HTTP (Hypertext Transfer Protocol) — hüperteksti edastamise protokoll, mida kasutatakse ressursside, näiteks veebilehtede, saamiseks. Töötleb "klient-server" mudeli järgi.
Klient (tavaliselt brauser) saadab serverile päringu, mis töödeldakse ja saadetakse vastus.
HTTP sõnumi põhielemendid:
-
Algusrida: Määrab sõnumi tüübi (päring või vastus) ja põhiparameetrid.
- Päring: Meetod (GET, POST, PUT, DELETE ja teised), tee ressursile, protokolli versioon.
- Vastus: Protokolli versioon, olekukood (200 OK, 404 Not Found, 500 Internal Server Error ja teised), oleku tekstiline kirjeldus.
GET /index.html HTTP/1.1 // Päringu algusrida näideHTTP/1.1 200 OK // Vastuse algusrida näide -
Pealkirjad (Headers): Sisaldavad meta-informatsiooni sõnumi ja sõnumi keha kohta. Iga pealkiri on esitatud paarina "NimiPealkiri: Väärtus":
- Päringu pealkirjad: Host, User-Agent, Accept, Content-Type, Content-Length ja teised.
- Vastuse pealkirjad: Content-Type, Content-Length, Server, Set-Cookie ja teised.
Host: example.com // Pealkirja Host näide User-Agent: Mozilla/5.0 // User-Agent näide -
Tühi rida: Eraldab pealkirjad sõnumi kehasid.
-
Sõnumi keha (Body): Sisaldab edastatavaid andmeid. Võib puududa mõnes päringus (näiteks GET) ja vastuses (näiteks 204 No Content). POST või PUT päringutes sisaldab keha tavaliselt edastatavaid andmeid. Vastustes sisaldab keha nõutud ressurssi (näiteks HTML-kood, pildid, JSON).
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Hello!</h1> </body> </html>
HTTP põhimeetodid:
| Meetod | Kirjeldus | Rakendus |
|---|---|---|
| GET | Nõuab ressurssi määratud URL-ist. | Andmete saamine, ilma serveri seisundi muutmata. |
| POST | Saadab andmeid töötlemiseks serverile. | Vormide saatmine, failide üleslaadimine, ressursside loomine. |
| PUT | Uuendab või loob ressurssi määratud URL-i järgi. | Olemasolevate ressursside uuendamine. |
| DELETE | Kustutab ressurssi määratud URL-i järgi. | Ressursside kustutamine. |
| HEAD | Nõuab ressurssi pealkirju ilma keha. | Saada metainformatsiooni ressursi kohta. |
HTTP on olekuta protokoll (stateless). Iga päring on sõltumatu. Olekute säilitamiseks kasutatakse mehhanisme nagu cookies ja sessioonid.