Sobes.tech
Intern

Čo je HTTP?

sobes.tech AI

Odpoveď od AI

Protokol prenosu hiperteksta. Mrežni protokol na nivou aplikacije za razmenu podataka.

Osobine:

  • Klijent-server arhitektura: Klijent (npr. prehliadač) šalje zahtev serveru, server obrađuje zahtev i vraća odgovor.
  • Bez čuvanja stanja (stateless): Svaki zahtev se obrađuje nezavisno od prethodnih. Stanje sesije se održava na višim nivoima (npr. pomoću kolačića).
  • Koristi TCP: Podrazumevani transportni protokol je TCP, koji obezbeđuje pouzdanu isporuku podataka.
  • Port 80: Standardni port za HTTP.
  • Metode zahteva (HTTP methods/verbs): Određuju vrstu akcije koja treba da se izvrši nad resursom.
    • GET: Zahtev za podatke sa navedenog resursa.
    • POST: Slanje podataka na obradu ili kreiranje novog resursa.
    • PUT: Ažuriranje postojećeg resursa ili kreiranje novog po navedenom URI.
    • DELETE: Brisanje navedenog resursa.
    • PATCH: Delimično ažuriranje resursa.
    • HEAD: Zahtev za zaglavljima odgovora, slično kao GET, ali bez tela.
    • OPTIONS: Zahtev za informacijama o dostupnim metodama i drugim opcijama veze za ciljni resurs.
  • Kôdovi stanja odgovora (Status Codes): Trocifreni brojevi koji ukazuju na rezultat zahteva.
    • 1xx: Informativni
    • 2xx: Uspešni - 200 OK
    • 3xx: Preusmeravanja
    • 4xx: Greška klijenta - 404 Not Found
    • 5xx: Greška servera - 500 Internal Server Error

Struktura HTTP poruke:

Deo Zahtev (Request) Odgovor (Response)
Početna linija Metod URI Verzija HTTP (npr., GET / HTTP/1.1) Verzija HTTP Kod stanja Faza stanja (npr., HTTP/1.1 200 OK)
Zaglavlja Par "Ime-Vrednost" (npr., Host: example.com) Par "Ime-Vrednost" (npr., Content-Type: text/html)
Prazan red Odvaja zaglavlja od tela. Odvaja zaglavlja od tela.
Telo Nije obavezno. Sadrži podatke za slanje (npr., obrasci). Nije obavezno. Sadrži tražene podatke (npr., HTML stranica).

Primer HTTP zahteva:

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, kao 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

Primer HTTP odgovora:

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>

Koristi se za prenos hipermedijalnih dokumenata (HTML, slike, video zapisi) na Svetskoj mreži. HTTPS je zaštićena verzija HTTP-a sa enkripcijom (SSL/TLS).