naslovna
programiranje
HTML
CSS
PHP
MySQL
jQuery
Osnove
Polja
Petlje
Funkcije
Forme

U komunikaciji putem Interneta sudjeluju dvije strane: klijent i poslužitelj (server).

 

Klijent (korisnikov web preglednik) šalje zahtjev, npr. adresu neke stranice, a poslužitelj isporučuje odgovor, koji sadrži HTML kod tražene stranice (i zajedno s njim binarne datoteke, npr. slike, video...), što će klijent interpretirati i prikazati korisniku kao web stranicu.

 

Komunikacija između poslužitelja i klijenta odvija se putem HTTP protokola, koji se sastoji od HTTP zahtjeva i odgovora.

Komunikacija preko Interneta je dvosmjerna – i klijent može unutar HTTP zahtjeva poslati neke podatke poslužitelju.

 

 

Statičke HTML stranice

 

Sa statičkim HTML stranicama, web stranica će uvijek biti ista, a mogućnosti joj se svode na prikazivanje teksta i slika, s mogućnošću povezivanja, preko linkova, s drugim stranicama.

 

 

HTML stranice s klijentskim skriptama

 

Klijentske skripte se zajedno s HTML kodom (unutar HTML datoteka ili unutar zasebnih datoteka) nalaze na poslužitelju.

Kad stigne zahtjev, zajedno s HTML kodom se šalju klijentu, a na klijentu se izvršavaju kad budu pozvane (nakon što se stranica učita u preglednik, kad korisnik klikne na dugme i slično).

Klijentske skripte nude veliko proširenje mogućnosti web stranica, od kojih je možda najkorisnije prikazivanje prozora s porukama, trenutno prikazivanje i skrivanje određenih dijelova na stranici i drugi dinamični vizualni efekti (promjena slike pri prelasku mišem i slično).

 

 

HTML stranice stvorene pomoću poslužiteljskih skripti

 

Poslužiteljske skripte, kao i klijentske skripte, nalaze se na poslužitelju i, također, mogu biti ubačene u HTML kod, ili se mogu nalaziti u zasebnim datotekama.

Kad stigne zahtjev od klijenta, skripta se izvršava na poslužitelju, a kao rezultat izvršavanje dobiva se HTML kod koji se šalje klijentu.

Najveća prednost poslužiteljskih skripti je njihova mogućnost povezivanja s bazama podataka, što je omogućilo pojavu web stranica i web aplikacija s dinamičkim sadržajem koji se čita iz baze podataka i koji korisnici mogu mijenjati preko web aplikacije.

 

 

Skriptni jezik PHP nastao je 1994. kao osobni projekt jednog entuzijasta, a kasnije se u njegov razvoj uključio veliki broj programera koji su svi doprinijeli razvoju jezika PHP. Originalno je skraćenica PHP značila Personal Home Page Tools, a kasnije je značenje promijenjeno i danas znači PHP: Hypertext Preprocessor (PHP: hipertekstualni pretprocesor, što opisuje glavnu funkciju jezika PHP - da na temelju PHP naredbi generira HTML, jezik kojim se opisuje hipertekst.)

 

Najčešći način instalacije PHP-a je u sklopu tzv. LAMP platforme (Linux, Apache, MySQL i PHP).

Web poslužitelj Apache prima HTTP zahtjev, i ako tražena stranica ima nastavak .php (ili neki od drugih nastavaka koji su podešeni na poslužitelju), poziva izvršno okruženje PHP-a, koje prevodi i izvršava PHP naredbe.

 

Ukoliko skripta treba dohvatiti neke podatke iz baze podataka, bazi se postavljaju upiti iz PHP-a. (Napomena: radi poboljšanja performansi, MySQL može biti instaliran na zasebnom poslužitelju.)

Dobiveni podaci se prosljeđuju PHP-u, i PHP ih uklapa unutar HTML koda.

Taj HTML kod se unutar HTTP odgovora šalje natrag klijentu i podaci se prikazuju u korisnikovom web pregledniku.

 

 

Ostale poslužiteljske tehnologije

 

Dugo godina veliki konkurent skriptnom jeziku PHP bio je ASP (Active Server Pages), Microsoftova poslužiteljska tehnologija čije su mogućnosti bile podjednake. No, ASP je zastario, a PHP se nastavio razvijati i dobivati bolju podršku za objektno-orijentirano programiranje. Postoji i nekoliko frameworka (razvojnih platformi) za PHP (Zend Framework, Symfony) čiji je cilj olakšati programiranje u njemu odvajanjem prezentacije (HTML) od logike (PHP kod), te uvođenjem objekata koji predstavljaju HTML elemente i proširuju funkcionalnost web stranica, zatim objekata za rad s bazama podataka i drugih.

 

Veliki konkurent je Microsoftov ASP.NET, donekle nasljednik tehnologije ASP, koji koristi .NET Framework za koji je moguće razvijati u više .NET jezika, od kojih su najrašireniji C# i Visual Basic.NET. Njegova prednost je veliki broj gotovih kontrola i objekata, i to što se njegove datoteke ne moraju prevoditi svaki put kod izvršavanja, već samo prvi put.

 

Jaka konkurencija je i JSP (JavaServer Pages). Za JSP danas postoji velik broj frameworka (Spring, Struts, JavaServer Faces...). Kao i ASP.NET, ne mora se prevoditi svaki put kod izvršavanja, i vrlo je raširen u svijetu poslovnih aplikacija.

 

Perl je skriptni jezik UNIX sustava, i to jedan od prvih s kojima je započeo razvoj web aplikacija. Ima velike mogućnosti, a njegov razvoj i dalje traje pa se i danas koristi za razvoj web aplikacija.

 

Python je skriptni jezik koji se može upotrebljavati i za web. Za njega postoji nekoliko frameworka i zajednica entuzijasta koji ga koriste.

 

Ruby je jezik sličan jeziku Python, a u posljednje vrijeme je vrlo popularan u kombinaciji s Rails frameworkom koji omogućava brz i jednostavan razvoj aplikacija.

 

Jedan od konkurenata skriptnom jeziku PHP je i ColdFusion, poslužiteljski skriptni jezik i tehnologija u vlasništvu Macromedie.