Finita la guerra dei browser HTML e Javascript smisero di evolversi, mentre i CSS vivevano una situazione molto confusa. La Microsoft, padrona incontrastata del mercato, non era interessata ad implementare novita' nel suo browser, ma spingeva la sua piattaforma proprietaria .NET mentre il W3C lavorava su XML e discuteva su XHTML 2, un nuovo HTML, piu' vicino all'XML ma non compatibile col vecchio, che nessuno pero' implementava.
Ma se gli standard erano in stasi, la tecnologia continuava ad avanzare: il web si riempiva di nuovi siti, molti fatti con i CMS da amatori. C'erano migliaia di siti web attorno al 1996, nel 1998 erano milioni, 50 milioni nel 2004. I computer diventavano piu' veloci ed economici e soprattutto la rete diventava piu' veloce e gli apparati di rete meno cari.
Fino al 1998 si utilizzavano modem per collegare i computer tramite le linee telefoniche: le velocita' andavano da 33.6 ad un massimo di 56 kbit/sec; troppo poco per suoni ed immagini. Gli istituti scientifici e le grosse ditte avevano collegamenti digitali a qualche Mbit, ma in paesi, come l'Italia, ove c'era un monopolista, le connessioni veloci erano molto costose e collegamenti in fibra ottica praticamente inesistenti.
La novita' fu
l'ADSL,
una tecnologia che permette velocita'
di diversi Mbit/sec su un comune doppino telefonico.
All'inizio l'ADSL andava a qualche Mbit; l'ADSL 2+ (2003-2005)
va a 24 Mbit in download ed 1.4 in upload.
Il progresso era notevole e creo' il nuovo mercato delle
connessioni domestiche.
Negli Stati Uniti l'ADSL arrivo' attorno al 1998, in Italia ed in altri paesi europei nel 2000, e Fastweb inizio' in quel periodo anche ad offrire collegamenti in fibra ottica in alcune citta' italiane.
Si iniziarono a trasferire suoni, immagini e filmati; i siti web si riempirono di immagini pubblicitarie, nuovi algoritmi di compressione (come l' mp3 per l'audio) permisero la condivisione di brani musicali, creando problemi per l'industruia dei CD musicali, ma anche nuovi sbocchi commerciali.
Furono sviluppati anche algoritmi di compressione che permettessero di trasferire filmati, al solito in mezzo a lotte commerciali per definire i formati, confusione negli standard ed incompatibilita' nei programmi di riproduzione (players). In quel periodo nei siti web iniziarono ad essere inseriti filmati in formato Quicktime della Appple, anche la Microsoft aveva il suo player con i suoi formati, ma alla fine fu il formato Flash della Adobe a fare da padrone nei siti web del 2000, e ci si trovava, nei siti commerciali, a sorbirsi terribili filmati pubblicitari in Adobe Flash prima di poter arrivare a qualcosa di utile.
Una grossa novita' nel campo del software per il web furono le tecnologie Ajax. Nel 1996 la Microsoft aveva aggiunto il tag <iframe>: una zona della pagina ove veniva caricato un testo html a parte, una cosa un po' simile ai frames della Netscape (secondo gli standard destinati a sparire: deprecated, ma ancora supportati maggior parte dei browser nel 2016).
Il client web di posta di Outlook della Microsoftt (1998-1999) usava l'iframe per caricare parti di pagine in modo asincrono rispetto al resto, con delle procedure ActiveX. Il sistema fu ripreso da Mozilla nel 2000 e poi da Opera, Safari, Konqueror fra il 2002 ed il 2005, e per effettuare questo caricamento asincrono fu definito un oggetto Javascript apposta: XMLHttpRequest, che non era negli standard, ma di fatto divenne di uso comune attorno al 2005.
Il W3C nel 2006 pubblico' una prima specifica per la funzione XMLHttpRequest , che puo' permettere di ricevere informazioni dal server in vari formati: HTML, XML , semplice testo ed anche Json (JavaScript Object Notation): JSON e' un formato standard, introdotto attorno al 2000, alternativo all'XML e molto piu' comodo oper codificare e trasmettere dati Javascript con tutta la loro struttura.
La tecnologia che si sviluppo' attorno all funzione XMLHttprequest permetteva di trasformare le pagine web in veri e propri applicativi, che interagivano in modo continuo col server. Questa tecnologia fu chiamata Ajax ( asynchronous JavaScript and XML ), Google per prima ne fece largo uso, per strutturare i suoi appplicativi di rete: come Gmail e Google Maps. Usata da Google, questa nuova tecnologia suscito' molto interesse e fu oggetto di molta attenzione in quel periodo; e se ne parlava molto. La nascita di Ajax alla Microsoft e' raccontata in: www.alexhopmann.com/xmlhttp.htm.
I principali attori nel mondo del web avevano bisogno che anche gli standard si evolvessero, seguendo la realta' del mercato. Nel 2004, Mozilla ed Opera presentarono al W3C una proposta per un'evoluzione dell'HTML compatibile con l'esistente, e che rispecchiasse la realta' delle cose e le necessita' dei browser; ma il W3C decise di continuare con XML ed XHTML.
Allora Mozilla, Opera, Apple formarono il gruppo WHATWG ( Web Hypertext Application Technology Working Group) ed iniziarono a delineare un nuovo standard per l'HTML, seguendo una linea molto pragmatica, che seguisse le necessita' dei creatori di siti web. Incominciarono a lavorare su quello che poi diventera' HTML 5.
Nel 2007 il W3C rinuncio' ad XHTML-2 ed a portare l'HTML verso l'XML. Fu creato un gruppo di lavoro che prese, come base di partenza, l'HTML 5 del WHATWG. Il gruppo di lavoro su XHTML fu chiuso definitivamente nel 2009.
Nel 2012 W3C e WHATWG si accordarono,
decidendo che il gruppo WHATWG
lavorava su un "living standard", incorporando in HTML, man mano,
le nuove funzionalita' che emergevano, mentre il W3C pubblicava,
periodicamente, documenti che definissero lo standard HTML-5 in base
al lavoro del WHATWG.
Come risultato abbiamo ora ben due standard per HTML-5:
i documenti WHATWG e lo
standard ufficiale del W3C,
ma differiscono solo di poco.
Un primo documento di lavoro su HTML-5
fu pubblicato dal WHATWG nel 2008; lo standard HTML-5 e' stato pubblicato
dal W3C nel 2014.
HTML-5 ha particolare cura della grafica, delle imamgini, filmati suoni,
inoltre da supporto all'organizzazione delle pagine ormai
standardizzata dall'uso.
Una lista delle novita' di HTML 5 si puo' trovare in:
html-differences.whatwg.org.
Vengono introdotti parecchi nuovi tag: alcuni descrivono in modo piu'
dettagliato la struttura della pagina,
come: section, article, header, footer, aside, figure.
Ci sono parecchie aggiunte ai form.
Diversi attributi dei tag sono scomparsi,
visto che possono essere meglio implementati coi CSS.
Inoltre l'idea che l'HTML debba basarsi su SGML od XML
viene abbandonata, per cui non ci riferisce
piu' ad un DTD (documento formale di specifiche), ma il tag DOCTYPE
all'inizio del documento diviene semplicemante: <!DOCTYPE html> .
Una cosa importante e' l'inserimento di tag specifici per video ed audio; HTML 5 supporta direttamente i video, a differenza dell'HTML 4, ove i video erano mostrati da programmi ausiliari (plugins).
Altre novita' sono: il canvas; uno spazio su cui funzioni javascript possono disegnare, ed il tag <svg>, che definisce uno spazio ove possono essere inseriti oggetti descritti da grafica vettoriale, come: linee, cerchi, rettangoli, etc..
Il W3C inizia a lavorare sul CSS-3, una nuova versione dei CSS, nel 1998, ma le cose si rivelano molto complicate; ci sono cosi' tante proposte e discussioni che le specifiche sono spezzate in moduli, che costituiscono ognuno una proposta di standard a se, e vengono pubblicati separatamente.
Nel 2015 in:
www.w3.org/Style/CSS/current-work
sono elencati ben 60 differenti moduli,
in vari stadi di discussione, alcuni sono gia' in fase 4,
cioe' sono dei dei CSS-4.
Relativamente pochi (una decina) sono in una fase finale,
fra questi quelli che specificano la sintassi generale ed
i
Anche sul modello ad oggetti della pagina web (DOM) si e' ricominciato a lavorare e nel 2015 il W3C ha pubblicato una specifica per il DOM-4 in base al lavoro del WHATWG.
Anche il protocollo di trasferimento delle pagine web ha subito cambiamenti. Attorno al 2010 una pagina web contiene una marea di immagini, pubblicita' , procedure, e, secondo la logica del protocollo HTTP, la trasmissione di ogni parte della pagina richiede una diversa connessione TCP. Per migliorare l'efficienza Google inizio', nel 2012, ad implementare il protocollo SPDY, che permette di utilizzare un'unica connessione TCP per trasmettere piu' pagine.
Nel 2014 e' stato codificato il protocollo HTTP-2, che riprende le migliorie di SPDY ed apre le porte al trasferimento di video in streaming, cioe' come flusso di dati continuo, in diretta. Inoltre permette di utilizzare una sola connessione per piu' trasferimenti e puo' inviare dati binari; prevede inoltre che il server possa mandare al client dati senza una richiesta diretta (push lato server).
I browser hanno tardato un po' ad implementare i nuovi standard, ma la situazione, al 2016, e' molto meglio di quella cui ci trovavamo davanti nel 2000. Questo e' dovuto, da una parte, al fatto che i produttori di browser sembrano aver finalmente capito che la compatibilita' e' un vantaggio per tutti, dall'altra al fatto che i programmi che interpretano le pagine (motori di rendering), non sono piu' tanti, ed e' meno facile che qualcuno prenda una strada sua, implementando opzioni incompatibili.
Infatti nel 2016 abbiamo essenzialmente quattro motori che interpretano le pagine web e sono utilizzati dai browser: