cíl: dynamické generování webového obsahu / rozhraní
typické znaky webových aplikací
tenký klient
aplikace potřebuje pouze prohlížeč, není nutno instalovat další software a hardwarové nároky jsou poměrně nízké
velmi nízké provozní náklady
bezestavovost
při této činnosti se neuchovává spojení s klientem - nelze přímo rozlišit, který klient zaslal který požadavek
cookies
malé textové soubory uložené na straně klienta
informace je posílána na server spolu s každým požadavkem - možno identifikovat jednotlivé klienty
vzniká virtuální spojení mezi klientem a webovým serverem
session proměnné
speciální proměnná, jejíž obsah je uchováván i při přechodu uživatele mezi jednotlivými stránkami
uchovávají se v paměti serveru a s klientem jsou svázány přes unikátní identifikátor uložený v cookies prohlížeče
prostředky skriptování
externí aplikace napojená na web server
aplikační server, který řeší i webový přístup
embedd skriptování
CGI (common gateway interface)
protokol na propojení externích aplikací s webovým serverem
→ vyšší funkcionalita a interaktivita pro webové stránky
programem CGI může být jakýkoliv program spustitelný v OS
aplikace zpracuje nějaký skript ve webové stránce → webovému serveru vrátí statickou stránku → pak ji pošlou klientovi jako výsledek požadafku
rysy CGI
jsou závislé na platformě (OS)
vysoká systémová režie na zpracování jednoho požadavku
zadám požadavek → do paměti (mojí) je zaveden celý program → ten je spuštěn jako samostatný proces s vlastním paměťpvým prostorem → pak je program odstraněn z paměti
každý požadavek takhle nutí server vytvořit nový proces, což zatěžuje jednak procesor a jednak zabírá paměť
čím víc požadavků od klientů současně → tím horší výkon serveru
bezpečností riziko
princip
prohlížeč shromáždí data z vyplněného formuláře (Ulice=Petrvaldska_129&Mesto=Ostrava)
pak pošle požadavek na URL adresu (ta je uvedena v ACTION)
HTTP server obdrží pomocí TCP/IP protokolu HTTP zprávu, kterou zpracuje a zjistí, jaká je metoda použita pro ten daný program (POST)
začíná proces výměny informací
webserver nastavuje proměnné prostředí (jméno serveru, metoda požadavku, typy obsahu, cesta ke skriptu apod.)
HTTP server spustí programy s parametry zadanými pomocí URL
CGI program načte proměnné z prostředí a zjistí, jaké metodě odpovídají (POST)
CGI program přes standardní vstup (stdin) obdrží obsah těla HTTP zprávy (řetězce name-value) a rekonstruuje z něj formulářová data
CGI program zavolá aplikační (mapový) server a přeloží požadavek do formátu nebo množiny proměnných, kterým mapový server může porozumět (jeden požadavek = jeden proces. Více současných požadavků = více současných procesů)
aplikační server zpracuje požadavek - tzn. převede adresu na prostorovou informaci a vytvoří mapu, v jejímž středu se nachází požadovaná adresa. Pak pošle výstup zpět CGI skriptu
CGI přidá k výstupu HTML kód a výsledek pošle HTTP serveru
HTTP server obržuje výsledky a ukončuje CGI program
pak se u mě, jakožto u klienta, zobrazí html stránka s obrázkem mapy
CGI+ serverová rozšíření
programy, které fungují v kontextu webového serveru a zpracovávají události serveru (HTTP požadavky)
na rozdíl od CGI zůstávají v paměti serveru a jsou připraveny k dalším službám, dokud se server nerozhodne, že už je nepotřebuje
v C++, složitá na programování
Microsoft ISAPI
komponentové technologie
knihovna ADO
používá se pro přístup k databázi v prostředí ASP
zaobaluje poměrně složitý přístup k datovým zdrojům do jednoduchého rozhraní
skriptovací jazyky v kódu stránky
zpravidla interpretované
neumožnují super programování (dědičnost)
nevyžadují striktě typování proměnných
program zpravidla promíchám s HTML kódem
JSP (od SUN)
ASP (od Microsoft)
PHP
skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek
skripty prováděny na straně serveru - k uživateli přenášen až výsledek jejich činnosti
obsahuje: rozsáhlé knihovny fcí pro zpracování textu, grafiky a práci se soubory, přístup k většině databázových serverů (MySQL, ODBC, Oracle, PostfreSQL, MMSQL), podporu celé řady protokolů (HTTP, SMTP, FTP, IMAP, POP3)
je dynamicky typový , má heterogenní pole, instalaci PHP na webovém serveru můžu provést buď pomocí přímého modulu (SAPI) pro webový server (APACHE, Netscape,…) nebo přes CGI procesor (php.exe), který zpracovává soubory s php skripty
Permalink server_side_script.1483893565.txt.gz · Last modified: by efox