Programmazione Server Side
Questo articolo nasce in seguito a una lezione di programmazione server side per il corso di IUM di quest'anno. Ho ristrutturato e rivisto alcune cose che avevo già scritto.
Pubblicazione statica
Un documento web statico e' costituito da una serie di oggetti digitali memorizzati in file separati, che vengono generati una volta per tutte e messi in linea a disposizione degli utenti, fino a quando il gestore di sistema non decide di modificarli o di rimuoverli. Quando il server riceve una richiesta che si riferisce ad un documento statico, non deve far altro che individuare nelle proprie memorie di massa i vari file di cui si compone e inviarne delle copie al client.
La prima generazione di pagine web era statica: pagine basate su HTML, immagini statiche, testo che non poteva essere posizionato precisamente in termini di coordinate.
HTML e' considerato comunemente un linguaggio di programmazione non WYSIWYG (What You See Is What You Get: quello che vedi e' quello che ottieni). Significa che per quanto un programmatore provi il codice HTML nel suo browser, non puo' sapere con precisione cosa accadra' quando sara' visualizzato in un altro browser. L'unica possibilita' che ha a disposizione lo sviluppatore e' di testare il proprio codice nella maggior quantita' possibile di situazioni. La disattenzione degli sviluppatori fa si che anche siti importanti non siano fruibili per una notevole quantita' di utenti (basta provare a collegarsi all'area utenti del sito sella.it da un computer con Solaris...)
Le principali variabili sono:
- Browser: ogni browser visualizza in modo differente diversi tag HTML. Spesso inoltre ogni browser ha tag proprietari.
- Numero di colori: ogni sistema utilizza un numero differente di colori e, nel caso questo numero sia inferiore a quello utilizzato dal programmatore, i risultati potrebbero essere imprevedibili.
- Risoluzione: una pagina puo' essere visualizzata in modo diverso con diverse risoluzioni dello schermo.
- Sistema operativo: sistemi operativi diversi possono supportare in modo differente alcune modalita' di interazione. Per esempio il click con il tasto destro del mouse in un Macintosh deve essere emulato con la pressione di un pulsante e il click con l'unico tasto del mouse.