Intern
Kas yra HTTP?
sobes.tech AI
Atsakymas iš AI
Hiperteksto perdavimo protokolas. Tinklo protokolas taikymo sluoksniui duomenų mainams.
Pagrindinės savybės:
- Klientas-serveris architektūra: Klientas (pvz., naršyklė) siunčia užklausą serveriui, serveris apdoroja užklausą ir grąžina atsakymą.
- Be būsenos (stateless): Kiekviena užklausa apdorojama nepriklausomai nuo ankstesnių. Sesijos būsena palaikoma aukštesniuose lygiuose (pvz., slapuko pagalba).
- Naudoja TCP: Pervežimo protokolas pagal numatytuosius nustatymus yra TCP, kuris užtikrina patikimą duomenų pristatymą.
- Portas 80: Standartinis HTTP portas.
- Užklausos metodai (HTTP methods/verbs): Nustato veiksmą, kurį reikia atlikti ištekliui.
GET: Užklausa duomenims iš nurodyto ištekliaus.POST: Duomenų siuntimas apdorojimui arba naujo ištekliaus sukūrimui.PUT: Esamo ištekliaus atnaujinimas arba naujo sukūrimas nurodytu URI.DELETE: Nurodyto ištekliaus ištrynimas.PATCH: Dalinis ištekliaus atnaujinimas.HEAD: Užklausa apie atsakymo antraštes, panaši įGET, bet be turinio.OPTIONS: Užklausa apie galimus metodus ir kitus ryšio parinktis tikslo ištekliui.
- Atsakymo kodai (Status Codes): Trijų skaitmenų skaičiai, nurodantys užklausos rezultatą.
1xx: Informaciniai2xx: Sėkmingi -200 OK3xx: Peradresavimai4xx: Kliento klaida -404 Not Found5xx: Serverio klaida -500 Internal Server Error
HTTP pranešimo struktūra:
| Dalis | Užklausa (Request) | Atsakymas (Response) |
|---|---|---|
| Pradžios eilutė | Metodas URI HTTP versija (pvz., GET / HTTP/1.1) |
HTTP versija Kodo būsena Fraza būsena (pvz., HTTP/1.1 200 OK) |
| Antraštės | "Vardas-Reikšmė" poros (pvz., Host: example.com) |
"Vardas-Reikšmė" poros (pvz., Content-Type: text/html) |
| Tuščia eilutė | Atskiria antraštes nuo kūno. | Atskiria antraštes nuo kūno. |
| Kūnas | Neprivaloma. Turinys siunčiamas (pvz., formos). | Neprivaloma. Turinys, kurio prašoma (pvz., HTML puslapis). |
HTTP užklausos pavyzdys:
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, kaip 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
HTTP atsakymo pavyzdys:
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>
Naudojama hipermedijos dokumentų (HTML, vaizdų, vaizdo įrašų) perdavimui pasauliniame tinkle. HTTPS — saugusi HTTP versija, naudojanti šifravimą (SSL/TLS).