Sobes.tech
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: Informaciniai
    • 2xx: Sėkmingi - 200 OK
    • 3xx: Peradresavimai
    • 4xx: Kliento klaida - 404 Not Found
    • 5xx: 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).