Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Programiranje

Kako deluje HTTP (GET, POST, PUT, DELETE)

Ko v brskalnik vpišemo naslov spletne strani, se v ozadju zgodi "pogovor" med našim računalnikom in strežnikom. Ta pogovor poteka po pravilih protokola HTTP — HyperText Transfer Protocol. Vsak zahtevek, ki ga pošljemo, ima svojo metodo, ki pove strežniku, kaj želimo narediti. Najpomembnejši štirje so GET, POST, PUT in DELETE.

Kaj je HTTP

HTTP je protokol za prenos podatkov med odjemalcem (brskalnikom) in strežnikom. Deluje po principu zahtevek–odgovor: odjemalec pošlje zahtevek, strežnik pa vrne odgovor. Vsak zahtevek vsebuje metodo, naslov vira (URL) in morebitne podatke. Odgovor pa vsebuje statusno kodo (npr. 200 za uspeh ali 404 za neobstoječo stran) in vsebino.

GET /index.html HTTP/1.1
Host: vadnica.org

HTTP/1.1 200 OK
Content-Type: text/html

(vsebina strani ...)

GET: branje podatkov

Metoda GET pridobi podatke s strežnika. Uporablja se za obisk strani, nalaganje slik, iskanje po spletu — za vse, kar beremo. Parameter GET ne spreminja podatkov na strežniku, zato je varno osveževati takšne strani. Podatki, ki jih pošiljamo (npr. iskalni niz), se pošljejo kar v naslovu URL-ja.

GET /iskanje?q=http+vadnica HTTP/1.1
Host: vadnica.org

POST: oddaja podatkov

Metoda POST pošlje podatke na strežnik — najpogosteje iz obrazca (form). Ko vpišemo uporabniško ime in geslo ter kliknemo Prijava, brskalnik pošlje POST zahtevek s podatki v telesu zahteve, ki ga ni videti v naslovu URL. POST tipično ustvarja nove zapise ali sproži obdelavo na strežniku.

POST /prijava HTTP/1.1
Host: vadnica.org
Content-Type: application/x-www-form-urlencoded

uporabnisko_ime=ime&geslo=skrivnost

PUT: posodobitev podatkov

Metoda PUT posodobi obstoječe podatke na strežniku. Uporablja se predvsem pri API-jih: če želimo spremeniti podatke o uporabniku, pošljemo PUT zahtevek s celotno novo vsebino zapisa. Za razliko od POST, ki lahko vsakič ustvari nov zapis, PUT vedno cilja na točno določen vir in ga prepiše.

PUT /uporabniki/42 HTTP/1.1
Host: vadnica.org
Content-Type: application/json

{"ime": "Ime", "email": "ime@mail.si"}

DELETE: brisanje podatkov

Metoda DELETE pošlje strežniku zahtevo, naj izbriše določen vir. Tako kot PUT se uporablja predvsem pri API-jih in vedno cilja na točno določen vir, npr. enega uporabnika ali en zapis.

DELETE /uporabniki/42 HTTP/1.1
Host: vadnica.org

Primerjava metod

Metoda Namen Primer uporabe
GET Branje podatkov Obisk spletne strani, iskanje
POST Oddaja podatkov, ustvarjanje Prijava, registracija, komentar
PUT Posodobitev podatkov Sprememba profila uporabnika
DELETE Brisanje podatkov Odstranitev zapisa

HTTP v praksi

Te štiri metode tvorijo osnovi t. i. REST API, prek katerih si aplikacije izmenjujejo podatke. Predstavljamo si lahko knjižnico: GET, ki pomeni izposojo knjige, POST dodajanje nove knjige, PUT popravljanje obstoječe, DELETE pa odstranitev s police. Vsak dober API sledi temu logičnemu razdeljevanju nalog, zato je razumevanje metod ključno za vsakega spletnega razvijalca.

Vsa komunikacija, ki jo povprečni uporabnik sproži vsak dan — od odpiranja strani do prijave v spletno banko — poteka po teh pravilih. HTTP je tihi delavec interneta, ki brez težav opravlja milijarde zahtevkov na sekundo.

back Nazaj na blog