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:
-
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 zahtevaHTTP/1.1 200 OK // Primer start linije odgovora -
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 -
Prazan red: Odvaja zaglavlja od tela poruke.
-
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.