Sobes.tech
Middle

Kako funkcioniše HTTP protokol?

sobes.tech АИ

Одговор од АИ

HTTP (Hypertext Transfer Protocol) — protokol na aplikaciono nivo za prenos na podaci, korišćen za dobijanje resursa kao što su veb stranice. Radi po modelu "klijent-server".

Klijent (obično pretraživač) šalje zahtev serveru, a server obrađuje zahtev i šalje odgovor klijentu.

Glavni elementi HTTP poruke:

  1. Start linija: Određuje tip poruke (zahtev ili odgovor) i osnovne parametre.

    • Zahtev: Metod (GET, POST, PUT, DELETE i dr.), put do resursa, verzija protokola.
    • Odgovor: Verzija protokola, kod statusa (200 OK, 404 Not Found, 500 Internal Server Error i dr.), tekstualni opis.
    GET /index.html HTTP/1.1 // Primer start linije zahteva
    
    HTTP/1.1 200 OK // Primer start linije odgovora
    
  2. Zaglavlja (Headers): Sadrže metainformacije o poruci i telu poruke. Svako zaglavlje je predstavljeno parom "ImeZaglavlja: Vrednost".

    • Zaglavlja zahteva: Host, User-Agent, Accept, Content-Type, Content-Length i dr.
    • Zaglavlja odgovora: Content-Type, Content-Length, Server, Set-Cookie i dr.
    Host: example.com // Primer zaglavlja Host
    User-Agent: Mozilla/5.0 // Primer zaglavlja User-Agent
    
  3. Prazan red: Odvaja zaglavlja od tela poruke.

  4. Telo poruke (Body): Sadrži prenesene podatke. Može biti odsutno u nekim zahtevima (npr. GET) i odgovorima (npr. 204 No Content). U zahtevima sa metodama POST ili PUT telo obično sadrži šaljane podatke. U odgovorima telo sadrži traženi resurs (npr. HTML kod, slike, JSON).

    <!DOCTYPE html>
    <html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <h1>Hello!</h1>
    </body>
    </html>
    

Glavne HTTP metode:

Metod Opis Primena
GET Zahteva resurs sa navedenog URL-a. Dobijanje podataka, bez menjanja stanja servera.
POST Šalje podatke za obradu na server. Slanje formulara, upload fajlova, kreiranje resursa.
PUT Ažurira ili kreira resurs po navedenom URL-u. Ažuriranje postojećih resursa.
DELETE Briše resurs po navedenom URL-u. Brisanje resursa.
HEAD Zahteva zaglavke resursa bez njegovog tela. Dobijanje metainformacija o resursu.

HTTP je protokol bez održavanja stanja (stateless). Svaki zahtev je nezavistan. Za održavanje stanja koriste se mehanizmi poput cookies i sesija.