Struttura e Funzionamento Applicazioni Web
Organizzazione a livelli (multi-tier) delle applicazioni di rete ed in particolare delle applicazioni web
Multitier Architecture - https://en.wikipedia.org/wiki/Multitier_architecture - from Wikipedia
Session - https://en.wikipedia.org/wiki/Session_(computer_science) - from Wikipedia
HTTP request-response cycle
- 2 fasi (richiesta risorsa statica)
- 4 fasi (richiesta risorsa dinamica)
- 6 fasi (richiesta risorsa dinamica con accesso a db)
- n fasi (richieste lato server a servizi esterni tramite API)
software lato client (browser, app dedicata, browser embedded)
software
lato server (web server, interpreti/esecutori linguaggi, dbms, altri
servizi (invio mail, scambio file, invio sms), api verso servizi
esterni)
tecnologie lato client (html, css, js, plugin),
tecnologie lato server (php, python, asp.net, mysql, ms sql server)
Ciclo di post back
aggiornamento remoto completo o parziale (ajax) della paginapersistenza/scambio dati tra client e server: get, post, cookie, query string
contesti/scope:
- applicazione
- sessione (identificativo, time-out)
- pagina
eventi:
1 - S:avvio applicazione
2 - C:prima richiesta alla applicazione
3 - S:avvio sessione utente
4 - S:esecuzione pagina (php -> html,css,js)
5 - C:visualizzazione pagina da parte del browser
6 - C:l'utente interagisce localmente tramite interfaccia (html,css,js)
7 - C:l'utente genera un aggiornamento pagina totale o parziale (torno al punto 4)
8 - S:fine sessione utente (timeout, logout, ...)
9 - S:fine applicazione
modalità di aggiornamento pagina:
7a - richiesta della stessa pagina = post-back = ricaricamento totale pagina
7b - richiesta di altra pagina del sito = ricaricamento totale pagina
7c - richiesta parziale (ajax, web service) = aggiornamento parziale pagina
7d - richiesta ad altro sito
tecniche push e polling
websocket