Python → Python za web → Klijent-server model
Klijent-server model u web programiranju
Jedan od najvažnijih koncepata u web programiranju je klijent-server model.
Ovaj model opisuje način na koji aplikacije na internetu komuniciraju međusobno.
Ko je klijent?
Klijent je program koji šalje zahteve serveru. Najčešće je to web pregledač koji koristimo svakog dana.
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Safari
Kada korisnik otvori neku web stranicu, browser šalje zahtev serveru.
Ko je server?
Server je računar ili aplikacija koja prima zahteve i šalje odgovore.
U Python web programiranju server je program napisan u Pythonu koji obrađuje zahteve korisnika.
Primer iz svakodnevnog života
Klijent-server model možemo uporediti sa naručivanjem hrane u restoranu.
- Vi ste klijent koji naručuje hranu
- Konobar prenosi zahtev
- Kuhinja priprema hranu
- Hrana se vraća klijentu
U web svetu:
- browser je klijent
- internet prenosi zahtev
- server obrađuje zahtev
- browser prikazuje rezultat
Primer web zahteva
Kada otvorimo neku stranicu, browser šalje HTTP zahtev serveru.
GET /index.html HTTP/1.1
Host: moj-sajt.com
Server zatim vraća odgovor sa sadržajem stranice.
HTTP/1.1 200 OK
Content-Type: text/html
<h1>Dobrodošli na moj sajt</h1>
Kako Python koristi klijent-server model?
Python web framework-i omogućavaju programerima da napišu kod koji odgovara na zahteve korisnika.
Na primer, Flask aplikacija može definisati šta server treba da uradi kada korisnik poseti određeni URL.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Dobrodošli na Python server"
app.run()
Kada korisnik otvori početnu stranicu, server vraća tekst koji smo definisali u funkciji.
Prednosti klijent-server modela
- centralizovana obrada podataka
- lakše održavanje aplikacije
- mogućnost rada sa velikim brojem korisnika
- veća sigurnost podataka
Primeri aplikacija koje koriste ovaj model
- društvene mreže
- online prodavnice
- email servisi
- web portali
- online igre
Povezane lekcije
Često postavljana pitanja
Šta je klijent-server model?
To je način komunikacije gde klijent šalje zahtev, a server obrađuje zahtev i vraća odgovor.
Da li je browser klijent?
Da. Browser je najčešći primer klijenta u web aplikacijama.
Šta radi server u web aplikaciji?
Server obrađuje zahteve korisnika, komunicira sa bazom podataka i vraća rezultat.
Da li Python može da bude server?
Da. Python uz pomoć framework-a kao što su Flask i Django može da pokreće web servere.