Il termine «web» designa il servizio internet che permette di navigare attraverso le pagine web.
Il protocollo usato per il web è il protocollo HTTP (HyperText Transfer Protocol), il che spiega il http:// digitato all'inizio degli URL. Il protocollo HTTP è attualmente alla sua versione 1.1 (specificata dal consorzio W3C). Ormai, il protocollo HTTPS (protocollo HTTP protetto / sicurizzato) è sempre più utilizzato con l'uso di sistemi di commercio elettronico, dato che si tratta di un protocollo sicurizzato che permette di codificare le richieste scambiate tra il browser e il server.
Oggi, il protocollo WAP (Wireless Application Protocol) permette ad un telefono cellulare compatibile WAP di comunicare con il gateway WAP dell'operatore di telefonia mobile. Le comunicazioni saranno in seguito convertite secondo il protocollo HTTP dal gateway. L'ultima versione del protocollo WAP specificata dal WAP Forum (l'autorità incaricata di definire lo standard WAP) è la versione 1.1 (inizio 2001).
Lo standard ormai stabilito per la diffusione di documenti sul web è il linguaggio HTML (HyperText Markup Language). Il linguaggio HTML permette di definire la presentazione del documento nonché dei link ipertestuali verso altri documenti attraverso dei tag d'impaginazione. Il W3C, l'ente incaricato di standardizzare le norme relative a internet ha attualmente (inizio 2001) specificato la versione HTML 4.01.
Il DHTML (Dynamic HyperText Markup Language) di cui si sente spesso parlare non è davvero un linguaggio. Si tratta in realtà di un insieme di linguaggi complementari all'HTML che permettono di rendere più dinamica una pagina web. Questi linguaggi sono:
Il linguaggio HTML 4.0 o superiori;
Il Javascript, che permette di effettuare delle operazioni sul browser del client;
Il DOM (Document Object Model) che definisce un'arborescenza di oggetti rappresentante la struttura del documento. Questo permette soprattutto di poter manipolare l'insieme degli oggetti contenuti nel documento;
I fogli di stile (CSS - Cascading StyleSheets), che raggruppano in uno stesso documento le definizioni degli stili di ogni tag di una pagina web o di un intero sito.
Viene detta «pagina web dinamica» una pagina web costituita da un file di testo che contiene del codice HTML ed eventualmente delle immagini e dei link verso altri documenti. Un sito costituito da pagine web statiche sarà qualificato come «sito web statico». Un sito web statico è sufficiente quando contiene una dozzina di pagine ma il suo uso e il suo aggiornamento possono scontrarsi rapidamente con i seguenti limiti:
Una manutenzione difficile dovuta all'obbligo di modificare manualmente ciascuna pagina (soprattutto nel caso in cui tutte le pagine hanno lo stesso menu);
L'impossibilità di rinviare una pagina personalizzata secondo il visitatore;
L'impossibilità di creare una pagina in modo dinamico a seconda delle entry di un database, ecc.
Ragione per cui delle soluzioni che permettono di automatizzare la generazione di pagine web lato server sono state attuate. Esistono numerose soluzioni che permettono di usare un linguaggio di script sul server web. I più diffusi sono:
Il primo cronologicamente è il CGI (Common Gateway Interface) consisteva nell'interpretare dei programmi (generalmente scritti in perl o in linguaggio C), poi di far loro rinviare un contenuto compatibile con il protocollo HTTP;
Il linguaggio ASP (Active Server Pages) di Microsoft a permesso di semplificare la scrittura di tali script manipolando degli oggetti in VBScript;
Il linguaggio PHP (Hypertext preprocessor) usa un suo proprio linguaggio (derivato da C++ e da Perl) e permette numerose funzionalità (equivalenti a quelle della tecnologia ASP);
Il linguaggio JSP (Java Server Pages) la più recente fra queste tecnologie. Permette di usare tutta la potenza di Java per creare delle pagine web dinamiche.
Java è stato per molto tempo usato per scrivere degli applet, cioè dei piccoli programmi eseguiti nel browser dell'utente, proprio all'interno di una pagina web, permettendo così di rendere la pagina molto più interattiva (ma anche molto più lenta). Java è ormai principalmente usato lato server web, per le seguenti ragioni:
Java è portatile (può essere eseguito su tutte le piattaforme);
Java è sicuro (è stato concepito per non provocare errori di esecuzione che possono creare delle falle di sicurezza per il server).
Si distinguono diverse entità di Java:
I servlet, che permettono di elaborare le richieste dell'utente (accesso a database con JDBC, comunicazione con altri servlet grazie alla tecnologia RMI, interrogazione di directory LDAP, ecc.);
Le pagine JSP rappresentano un codice HTML nel quale è stato messo un codice Java;
Gli EJB (Enterprise JavaBeans), componenti di oggetti scritti in Java che si trovano su un server di applicazione che permette di accedere ai loro metodi.
Le tecnologie Java si basano quindi sull'uso di queste tre entità, all'interno di un server di applicazione, cioè un server specifico che utilizza una macchina virtuale Java. I principali server di applicazione sono:
Oracle Application Server di Oracle;
WebLogic di BEA;
Websphere Application Server di IBM;
JRun di Allaire/Live software;
IPlanet di Alliance Sun Netscape;
JServ e Tomcat di Apache;
WebObjects.
L'HTML ha rapidamente mostrato i suoi limiti, non solamente per il numero limitato dei tag, ma soprattutto per l'impossibilità di separare il contenuto e la presentazione, il che induce ad un problema di aggiornamento semplice della presentazione. Quindi, XML si propone come un meta linguaggio, cioè un linguaggio che permette di definire un nuovo linguaggio (nuovi tag).
Inoltre, dato che l'XML separa la presentazione dei dati, è possibile scambiare dei documenti in formato XML senza per altro influire sulla forma di questi ultimi. Questo permette di rendere semplice l'adattamento di un contenuto ad un browser oppure a qualsiasi periferica di visualizzazione (così, il WML(Wireless Markup Language) è un'implementazione dell'XML per la visualizzazione di pagine web su terminali mobili).
Il linguaggio XSL (eXtensible StyleSheet Language) permette di formattare un documento XML con delle regole d'impaginazione per costituire un documento in un altro formato (HTML, WML, PDF, LaTeX, ecc.). XML organizza le informazioni secondo una struttura arborescente definita dal DOM (Document Object Model), ed è quindi possibile percorrere un documento XML con un parser (analizzatore sintattico), cioè un programma che usa una biblioteca di funzione (API, per Application Programmable Interface) che permette di leggere e modificare un documento XML.
Foto: © Pixabay.