Komunikacija klijenta i servera
Način komunikcije između klijenta i servera je da klijent upućuje zahteve serveru, a server odgovara na njih. Osim najprostijih, svaka web aplikacija zahteva ovu komunikaciju. Došlo je vreme da iskoristimo sve što smo do sada naučili, kako bismo povezali klijent i server. S jedne strane će nam biti potrebno poznavanje HTML-a i JavaScripta, a sa druge PHP-a.
Postoje dva osnovna načina da klijent "uposli" server. Koji način ćemo upotrebiti zavisi od količine podataka i u kojoj meri želimo da omogućimo korisnicima da vide (ili čak manipulišu) podacima.
Najjednostavniji način prenosa podataka je korišćenjem GET HTTP metoda. Ovaj metod podatke prosleđuje kroz URL. Prednost mu je lakoća kojom se inicira (praktično je moguće učiniti to i kroz običan HTML link), ali je količina podataka koja se može proslediti ograničena maksimalnom veličinom URL-a. Takođe, osetljiv je na prisustvo određenih znakova u podacima koji imaju posebno značenje za ovaj metod. Konačno, svi podaci su vidljivi u URL polju (address bar), što čak i običnim korisnicima, koji nemaju iskustva u programiranju, pruža mogućnost da ih izmeni. Samim tim ovaj metod (ako smo nepažljivi u programiranju servera) omogućava i neke od hakerskih napada (RFI i LFI, da pomenemo neke).
Sa druge strane, POST HTTP metod je komplikovaniji, ali pruža veće mogućnosti. Zahvaljujući ovom metodu na server se može preneti mnogo veća količina podataka, kao i celi fajlovi. Prenos se obavlja "u pozadini", tako da korisnik ne može direktno uticati na podatke koji se šalju serveru. Međutim iniciranje POST metoda je malo komplikovanije za programera, a iz "čistog" HTML dokumenta, moguće je koristiti ovu metodu samo ako definišemo formu za unos podataka.
Ima i drugih načina komunikacije klijena i servera - kolačići (cookies) ili događaji servera (Server Side Events) kojima ćemo sa baviti kasnije u okviru ove teme.