Kaip veikia HTTP protokolas?
sobes.tech AI
Atsakymas iš AI
HTTP (Hypertext Transfer Protocol) — hiperteksto perdavimo protokolas, naudojamas išteklių, tokių kaip tinklalapiai, gavimui. Veikia pagal "klientas-serveris" modelį.
Klientas (paprastai naršyklė) siunčia užklausą serveriui, kuris ją apdoroja ir siunčia atsakymą.
Pagrindiniai HTTP pranešimo elementai:
-
Pradinis eilutė: Nustato pranešimo tipą (užklausa arba atsakymas) ir pagrindinius parametrus.
- Užklausa: Metodas (GET, POST, PUT, DELETE ir kt.), kelias iki ištekliaus, protokolo versija.
- Atsakymas: Protokolo versija, būsenos kodas (200 OK, 404 Not Found, 500 Internal Server Error ir kt.), būsenos aprašymas tekstu.
GET /index.html HTTP/1.1 // Užklausos pradinis eilutės pavyzdysHTTP/1.1 200 OK // Atsakymo pradinis eilutės pavyzdys -
Antraštės (Headers): Turintys metainformaciją apie pranešimą ir pranešimo kūną. Kiekviena antraštė pateikiama kaip pora "VardasAntraštė: Reikšmė":
- Užklausos antraštės: Host, User-Agent, Accept, Content-Type, Content-Length ir kt.
- Atsakymo antraštės: Content-Type, Content-Length, Server, Set-Cookie ir kt.
Host: example.com // Antraštės Host pavyzdys User-Agent: Mozilla/5.0 // Antraštės User-Agent pavyzdys -
Tuščia eilutė: Skiria antraštes nuo pranešimo kūno.
-
Pranešimo kūnas (Body): Turintis perduodamus duomenis. Gali būti nebūtinas kai kuriuose užklausose (pvz., GET) ir atsakymuose (pvz., 204 No Content). POST ar PUT užklausose kūnas dažniausiai turi siųstus duomenis. Atsakymuose kūnas turi prašomą išteklių (pvz., HTML kodą, vaizdus, JSON).
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Hello!</h1> </body> </html>
Pagrindiniai HTTP metodai:
| Metodas | Aprašymas | Naudojimas |
|---|---|---|
| GET | Prašo išteklių iš nurodyto URL. | Gauti duomenis, nekeičia serverio būsenos. |
| POST | Siunčia duomenis apdorojimui į serverį. | Siunčiant formas, įkeliant failus, kuriant išteklius. |
| PUT | Atnaujina arba sukuria išteklių pagal nurodytą URL. | Atnaujinti esamus išteklius. |
| DELETE | Ištrina išteklių pagal nurodytą URL. | Ištrinti išteklius. |
| HEAD | Prašo išteklių antraštes be kūno. | Gauti metainformaciją apie išteklių. |
HTTP yra be būsenos protokolas (stateless). Kiekvienas užklausas yra nepriklausomas. Būsenos palaikymui naudojami mechanizmai kaip cookies ir sesijos.