Python → Python za web → Kako funkcioniše internet i HTTP
Kako funkcioniše internet i HTTP protokol
Da bismo razumeli Python web programiranje, moramo prvo razumeti kako funkcioniše komunikacija između pregledača i servera.
Kada otvorite neku web stranicu, vaš pregledač šalje zahtev serveru, a server vraća odgovor koji pregledač prikazuje korisniku.
Šta je klijent?
Klijent je program koji šalje zahteve serveru.
Najčešći klijent je web pregledač:
- Chrome
- Firefox
- Edge
- Safari
Kada korisnik unese adresu u browser, pregledač šalje zahtev serveru.
Šta je server?
Server je računar ili program koji prima zahteve i vraća odgovor.
U Python web programiranju server je aplikacija napisana u Pythonu.
Server može da pošalje različite vrste sadržaja:
- HTML stranicu
- JSON podatke
- slike
- video
Šta je HTTP protokol?
HTTP (HyperText Transfer Protocol) je protokol koji definiše kako klijent i server komuniciraju.
Svaki put kada otvorite neku web stranicu, pregledač šalje HTTP zahtev serveru.
Primer HTTP zahteva
Kada otvorimo stranicu u pregledaču, zahtev može izgledati ovako:
GET /index.html HTTP/1.1
Host: example.com
Ovaj zahtev znači:
- GET – tražimo podatke sa servera
- /index.html – tražimo određenu stranicu
- Host – domen servera
HTTP odgovor servera
Server zatim vraća odgovor koji sadrži HTML stranicu.
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<h1>Zdravo sa servera</h1>
</html>
Najvažniji deo odgovora je status kod.
- 200 – uspešan odgovor
- 404 – stranica ne postoji
- 500 – greška na serveru
Kako Python koristi HTTP?
Python web framework-i kao što su Flask i Django automatski obrađuju HTTP zahteve.
Programer definiše šta server treba da uradi kada korisnik poseti određenu adresu.
@app.route("/")
def home():
return "Dobrodošli na moj sajt"
Kada korisnik otvori početnu stranicu, Python server vraća tekst ili HTML stranicu.
Primer iz stvarnog života
Zamislite web aplikaciju za vremensku prognozu.
- Korisnik otvara sajt u browseru
- Browser šalje HTTP zahtev serveru
- Server obrađuje podatke
- Server vraća HTML stranicu sa prognozom
- Browser prikazuje rezultat
Povezane lekcije
Često postavljana pitanja
Šta je HTTP?
HTTP je protokol koji omogućava komunikaciju između web pregledača i servera.
Šta je razlika između klijenta i servera?
Klijent šalje zahtev, a server obrađuje zahtev i vraća odgovor.
Šta znači status kod 404?
To znači da server ne može da pronađe traženu web stranicu.
Da li Python može da obrađuje HTTP zahteve?
Da. Python framework-i kao što su Flask i Django omogućavaju pravljenje web servera koji obrađuju HTTP zahteve.