Python → Python za web → Kako funkcioniše internet i HTTP


Kako funkcioniše internet i HTTP protokol


Lekcija 2 od 14

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.

Internet funkcioniše kao sistem komunikacije između klijenata (pregledača) i servera.

Š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.

Primer komunikacije klijent – server
Pregledač → HTTP zahtev → Python server → HTTP odgovor → Pregledač

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.

HTTP određuje kako se šalju zahtevi i kako server vraća odgovore.

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
Status kodovi su veoma važni u web programiranju jer nam pokazuju da li je zahtev uspešno obrađen.

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.

U sledećim lekcijama napravićemo sopstveni Python web server koristeći Flask framework.

Primer iz stvarnog života

Zamislite web aplikaciju za vremensku prognozu.

  1. Korisnik otvara sajt u browseru
  2. Browser šalje HTTP zahtev serveru
  3. Server obrađuje podatke
  4. Server vraća HTML stranicu sa prognozom
  5. 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.