Web
Il web (abbreviazione di world wide web, 'ragnatela mondiale', spesso indicato brevemente anche come www) è un sistema di interconnessione tra documenti basato sull'infrastruttura di Internet che permette l'accesso a tutta l'informazione disponibile su computer collegati in rete. Creato nel 1989 dal ricercatore T. Berners-Lee e dal suo gruppo al CERN di Ginevra, con l'esigenza di disporre di una rete distributiva di materiale scientifico per i fisici delle alte energie, ha avuto un'enorme diffusione grazie all'introduzione di interfacce grafiche (GUI, Graphical User Interface) che ne semplificano l'utilizzo, tanto da rendere Internet (spesso considerato sinonimo di w.) facilmente accessibile a tutti. Le interfacce grafiche sono incorporate nei browsers, i programmi (per es., Internet Explorer o Safari) che permettono la visualizzazione del documento richiesto. La modalità con la quale si accede ai documenti è del tipo client-server: l'elaboratore dell'utente ha il ruolo di client, cioè effettua le richieste, mentre l'elaboratore sul quale sono depositate le informazioni e che risponde alle richieste del client ha il ruolo di server (in questo caso si parla anche di meccanismo request-response, cioè richiesta-risposta). Le pagine web sono depositate in opportune porzioni della memoria dei server, tipicamente raggruppate in insiemi detti siti (per es., il sito dell'Istituto della Enciclopedia Italiana raccoglie diverse pagine web, relative all'attività dell'Istituto e alla divulgazione culturale) e sono identificate in modo univoco mediante gli URL (Uniform Resource Locator), il sottoinsieme più conosciuto del più generale URI (Uniform Resource Identifier), che denota una pagina web in senso assoluto, indipendentemente dalla sua localizzazione. Per essere accessibili su Internet, le pagine web sono costruite mediante opportuni linguaggi, il più diffuso dei quali è l'HTML (Hyper Text Markup Language), che specifica sia il contenuto delle pagine sia il loro formato di visualizzazione sul browser dell'utente. Alla richiesta del client, il browser trova e mostra le pagine di informazione; la funzione del browser è interpretare il linguaggio delle pagine web e di trasformarlo nelle parole e nella grafica che viene mostrata sullo schermo. La singola pagina può contenere materiale di tipo diverso (testo, video ecc.) e, in particolare, collegamenti ipertestuali verso altre pagine dello stesso sito oppure verso altri siti. Il protocollo che regola il trasferimento delle pagine web è l'HTTP (HyperText Tranfer Protocol), che gestisce i messaggi di richiesta e di risposta tra il client e il server. Per guidare l'evoluzione tecnica del w., nel 1994 è stato creato il W3C (World Wide Web Consortium), un'organizzazione di cui fanno parte centinaia di università e società la cui attività si esplica soprattutto attraverso l'emissione di indicazioni specifiche (raccomandazioni) che definiscono le caratteristiche tecniche dei diversi linguaggi e protocolli di comunicazione.
L'idea fondante del w. è la possibilità di creare uno spazio globale dell'informazione mettendo in connessione documenti altrimenti scollegati tra loro. Se ogni frammento di informazione in questo spazio è etichettato con un indirizzo, si ha una rete di informazioni. La diversità dei vari sistemi informatici - un ostacolo alla facilità d'accesso a tale rete - è superata dalla creazione di un sistema di poche, semplici regole comuni che permettono ai computer di dialogare tra loro e che confluiscono nel modello dell'ipertesto, un formato di informazione non sequenziale in cui sono presenti collegamenti per accedere a ulteriori informazioni o ad altri documenti. Sovrapponendosi a Internet, la rete delle reti preesistente, il w. viene a configurarsi come uno spazio in cui esiste l'informazione e dove poterla cercare.
Da questo punto di vista, il w. influenza profondamente le procedure consolidate della comunicazione e del pensiero. L'atteggiamento dell'utente nei confronti dell'informazione assume nel w., almeno potenzialmente, un carattere di dinamismo che non si ritrova in altri ambiti comunicativi, per es., nella trasmissione televisiva, dove l'utente tende a diventare un ricevitore passivo. D'altra parte, il w. inteso come spazio di interazione, di lavoro e di organizzazione delle informazioni impone una profonda riflessione sulla capacità di diffondere le conoscenze e di valorizzare i beni culturali: nell'ambito delle biblioteche, degli archivi e dei musei virtuali, l'opportunità offerta dal w. di esaltare la valorizzazione del patrimonio culturale è messa a frutto efficacemente se i contenuti accolti in forma digitalizzata sono organizzati sulla base delle loro relazioni concettuali e se si opera un processo di ricostruzione del contesto dei singoli elementi, così da eliminare la frammentazione e l'isolamento tipici della diffusione delle conoscenze nel modo reale. È molto acceso il dibattito intorno all'interazione degli utenti con il contenuto consultato: da un lato emerge la preoccupazione che la qualità dell'informazione venga in qualche modo inquinata dall'azione di soggetti non accreditati; dall'altro lato, è esaltato il valore sociale che tale partecipazione collettiva comporta.
A seguito dell'attività di digitalizzazione del patrimonio culturale, soprattutto libri, o comunque testi, il w. viene sempre più a configurarsi come un ambiente di pubblicazione, con implicazioni di carattere addirittura più rivoluzionario di quelle prodotte dall'invenzione della stampa, che, pur modificando le tecniche di produzione dei testi e la loro diffusione, non cambiò in modo radicale i sistemi di classificazione delle informazioni. In tale contesto, l'efficacia dei sistemi di ricerca digitale nell'individuare risorse in rete si contrappone alla necessità di salvaguardia delle opere da parte degli autori e degli editori. Poiché la capacità di ricerca contribuisce a valorizzare i contenuti, chi la mette a disposizione può legittimamente rivendicare dei diritti. Il sistema di protezione nel w. richiede un radicale ripensamento rispetto alle regole del mondo reale. Si assiste al seguente scenario: da un lato gli editori contestano ai più potenti motori di ricerca il fatto di avere digitalizzato le opere, violando secondo loro in tal modo il divieto di copia (su questo punto la questione è controversa, e le regole del copyright, non così definite nel w. come nel caso delle pubblicazioni cartacee, non aiutano a dirimerla); dall'altro siglano accordi con gli stessi per autorizzarli a indicizzare i loro libri protetti da copyright, consapevoli dell'elevato valore aggiunto che l'agevolazione della ricerca produce.
Architettura
La rete Internet consiste di una serie di protocolli standardizzati mediante i quali i computer si inviano i dati. Quando un computer invia dati, un programma specifico li riduce in pacchetti che viaggiano nel sistema di reti e sono riassemblati allin conformità ai due protocolli che gestiscono la spedizione: IP (Internet Protocol) e TCP (Transmission Control Protocol). I pacchetti, instradati dagli IP routers, dispositivi collegati fisicamente alle reti tra cui avviene il passaggio dei dati, contengono un'intestazione che identifica la rete di destinazione e il tipo di connessione. Ogni computer collegato in rete è identificato da un indirizzo IP di 32 bit, rappresentato nella notazione decimale da serie di numeri separate da punti, una per ogni 8 bit (per es., 81.117.166.36). All'indirizzo numerico IP è generalmente associato un nome simbolico (hostname) più facile da ricordare (per es., www.treccani.it), secondo un complesso di regole dettate dal DNS (Domain Name System). Prima di contattare il server, il client chiede al DNS di tradurre lin indirizzo IP, attraverso il quale viene stabilita la connessione TCP.
L'identificazione mediante indirizzi IP è funzionale al w., che richiede un meccanismo di denominazione e individuazione delle pagine. Prima di poter visualizzare una pagina web, occorre cioè sapere come si chiama, dove si trova e come si può accedere a essa. A ogni pagina web è pertanto assegnato un URL, che serve come identificatore mondiale della pagina. Un URL tipico è, per es.,
http://www.treccani.it/site/Scuola/Europa/europa.htm
Esso si compone di tre parti: il nome del protocollo (http), l della macchina su cui è situata la pagina (www.treccani.it) e il nome del file contenente la pagina con il suo percorso completo della directory (site/Scuola/Europa/europa.htm).
Il prefisso dell(non necessariamente www) indica il formato della risorsa contenuta nell'indirizzo, mentre il suffisso può essere di tipo istituzionale o geografico. Quando un utente digita l'URL oppure fa 'clic' su un collegamento dell'ipertesto, il browser apre la connessione TCP verso il server che si trova in esecuzione sulla pagina www.treccani.it, invia successivamentei una richiesta per il file site/Scuola/Europa/europa.htm, che il server preleva e invia. A questo punto, la connessione TCP è interrotta e il browser visualizza tutto il testo di site/Scuola/Europa/europa.htm e preleva e visualizza le immagini di questo file. La pagina web può anche contenere oggetti di diverso formato, per es. documenti PDF (Portable Document Format), video MPEG (Moving Picture Experts Group) o brani musicali MP3 (MPEG audio layer 3). Questi formati possono essere visualizzati soltanto con un'estensione del browser, che può avvenire in due modi: mediante il prelevamento di un modulo di codice (plug-in) da una directory del disco, la sua installazione e la rimozione dopo l'uso, oppure mediante l'esecuzione di programmi separati (applicazioni helper), come Adobe Reader per la visualizzazione di formati PDF o RealOne Player per la riproduzione di formati audio.
A ogni richiesta da parte del client, il server deve eseguire un accesso al disco per recuperare il file, con la conseguenza che il server non può servire un numero di richieste al secondo superiore al numero degli accessi al disco (per es., per un tempo di accesso medio al disco di circa 5 ms, il server è in grado di evadere al massimo 200 richieste). Per questo motivo, tutti i server mantengono in una memoria cache gli ultimi file utilizzati: prima di accedere al disco per recuperare un file, il server controlla la cache e se il file è presente lo preleva direttamente dalla memoria eliminando l'accesso al disco. Anche se è necessario un tempo di elaborazione supplementare per controllare la cache e analizzarne il contenuto, il risparmio in termini di tempo è sempre vantaggioso. Una possibile struttura (server multithreaded) che velocizza le operazioni del server utilizza più moduli di elaborazione con accesso alla stessa cache, che lavorano parallelamente su più richieste, con più dischi a disposizione. Una soluzione maggiormente efficace prevede l'utilizzazione di più computer (server farm): le richieste in ingresso vengano trasmesse a più microprocessori, anziché a più moduli, in modo da ridurre il carico su ogni macchina. I singoli computer possono a loro volta utilizzare più moduli. La prestazione complessiva risente della mancanza di una memoria cache condivisa, poiché ogni nodo di elaborazione possiede la sua. Un modo per superare questo problema consiste nell'utilizzare un'interfaccia (front-end) che tenga traccia del luogo in cui è stata inviata una richiesta, al fine di trasmettere sempre allo stesso nodo le richieste di quella pagina, ottimizzando così lo spazio delle cache. In questo caso, risulta conveniente far terminare la connessione TCP del client al nodo di elaborazione, perché possa così rispondere direttamente al client, e non nel front-end, per evitare che la risposta debba ripassare per esso.
La crescita del w. ha portato a un sovraccarico sia dei server sia di Internet, con un conseguente aumento dei tempi di attesa tra l'invio della richiesta e l'arrivo della risposta. Tra le tecniche di riduzione di tali tempi e di miglioramento delle prestazioni, sul lato client il caching consiste nel salvare le pagine richieste per riutilizzarle in seguito, per es. configurando il browser affinché tutte le richieste di pagina vengano rivolte a un server intermediario (proxy) invece che al server reale, che restituisce immediatamente le pagine in suo possesso e sul quale vengono aggiunte per l'utilizzo futuro le pagine prelevate dal server. Sul lato server, un'altra tecnica (mirroring) consiste nel replicare il contenuto del server in più posizioni, con la richiesta del client diretta a una delle repliche.
Linguaggi
Il più semplice e potente linguaggio di rappresentazione delle pagine web è l'HTML (l'estensione del documento è .html o .htm). Si tratta di un linguaggio di markup, che contiene cioè i comandi espliciti di formattazione (tags) per il browser, e che ricorda l'antico metodo degli impaginatori di contrassegnare (marking-up) i documenti per comunicare allo stampatore quali caratteri utilizzare. Quando un browser apre una pagina web, traduce i tag e visualizza il documento sulla schermo in base alla loro disposizione. La figura mostra la struttura di una pagina web e alcune parti significative del codice sorgente HTML che l'ha generata. I tag sono racchiusi tra parentesi angolari (⟨ >), indifferentemente in lettere maiuscole o minuscole, e generalmente circoscrivono il testo su cui hanno effetto: per es., il tag ⟨b> prima di una parola applica il grassetto, mentre il tag ⟨/b> indica la fine del grassetto; il tag ⟨br> indica l'interruzione di pagina, e non circoscrive il testo. Una pagina web consiste di un'intestazione (head) e di un corpo (body), entrambi racchiusi dai tag ⟨html> e ⟨/html>, preceduti eventualmente da una dichiarazione iniziale (DOCTYPE) che indica al browser la versione HTML utilizzata. Le stringhe all'interno dei tag sono chiamate direttive. Nell'esempio della figura, ⟨title> definisce il titolo dell'intestazione (non visualizzato sulla pagina), ⟨table> crea una tabella, ⟨img src="..."> visualizza un'immagine, ⟨tr> e⟨td> individuano rispettivamente una riga e una cella della tabella, ⟨a href="..."> realizza un collegamento ipertestuale, ⟨link href="...">, posto tra ⟨head> e ⟨/head>, esegue un collegamento verso un'altra pagina. Sono inoltre fissati i valori dei parametri della pagina, per es., l'allineamento del testo, il colore e così via.
L'evoluzione del linguaggio, da HTML 1.0 a HTML 4.01, ha permesso di includere nella struttura delle pagine web elementi sempre più complessi, come le tabelle, alcune funzioni di accessibilità per utenti diversamente abili, l'incorporamento di oggetti, i fogli di stile. Questi ultimi utilizzano all'inizio di ogni pagina stili logici predefiniti che permettono la composizione omogenea di diverse pagine da parte di più autori. Un'evoluzione importante ha reso bidirezionale il flusso di informazioni tra il provider (la società o l'istituzione che fornisce l'accesso a Internet) e l'utente: con l'introduzione dei moduli (form) l'utente, agendo su caselle e pulsanti, può inserire informazioni o compiere scelte da inviare al proprietario della pagina.
Un'estensione dell'HTML consente di separare il contenuto di una pagina web dalla sua formattazione, e rende così possibile l'elaborazione automatica della pagina, per es. per la ricerca di elementi di testo particolari: i linguaggi XML (eXtensible Markup Language) e XSL (eXtensible Style Language) agiscono su una pagina web definendo rispettivamente una struttura con più campi e la sua formattazione. Il linguaggio XSL consente al browser di analizzare ciclicamente il contenuto della struttura XML, estrarre alcuni dati e interpretarli per trovare quelli che rispondono a requisiti richiesti (per es., il prezzo migliore di una lista di prodotti commerciali). Un documento XML è composto unicamente da una sequenza di caratteri, per cui è facilmente trasferibile su ogni computer e su ogni sistema operativo.
Una riformulazione dell'HTML in XML è l'XHTML (eXtended HyperTest Markup Language), un linguaggio che può gestire la visualizzazione delle pagine web sulle nuove forme di accesso a Internet, come i dispositivi wireless (telefoni cellulari, palmari ecc.). Il linguaggio è caratterizzato da una sintassi rigorosa (pretende, per es., tag scritti soltanto in minuscolo e non consente tag ripetuti o posizionati in posti sbagliati, che in HTML il browser è comunque in grado di visualizzare) e da un codice più pulito, più facile da memorizzare, che semplifica l'interpretazione dei browser, aspetto particolarmente importante per i dispositivi senza fili, che hanno un limitato processo di elaborazione. L'accesso al w. tramite tali dispositivi è regolato principalmente dal sistema WAP (Wireless Application Protocol), che utilizza l'infrastruttura digitale esistente e nell'ultima versione (WAP 2.0) supporta anche i protocolli di comunicazione standard di Internet TCP e HTTP, grazie all'estensione XHTML mobile profile. Il linguaggio standard di markup per i dispositivi mobili è il WML (Wireless Markup Language), un'applicazione di XML che nella versione WML2 utilizza a sua volta un'estensione dell'XHTML mobile profile.
Il W3C ha sviluppato altri linguaggi attorno all'XML: per la creazione di fogli di stile (CSS, Cascading Style Sheet; XSLT, eXtensible Stylesheet Language-Transformation; XSL-FO, eXtensible Stylesheet Language-Formatting Object), per incrementare la capacità di creare collegamenti ipertestuali (XLL, eXtensible Linking Language; XPointer), per la distribuzione di informazioni multimediali (SMIL, Synchronized Multimedia Integration Language).
Pagine web dinamiche. Il contenuto delle pagine web può essere generato su richiesta, anziché essere archiviato su disco. Nello scambio di informazioni di una pagina interattiva, per es., un modulo o un programma o uno script (un piccolo programma interpretato dal browser il cui codice è inserito in una pagina HTML oppure è collegato a essa), il server elabora i dati che sono stati inviati dall'utente e produce una pagina personalizzata da restituire, generalmente mediante ricerca su un data-base. Il metodo più utilizzato per portare a termine tale procedimento si basa sul sistema CGI (Common Gateway Interface), un'interfaccia che consente ai programmi e agli script del server di accettare l'input dell'utente e generare pagine HTML in risposta. Secondo un altro metodo, piccoli script sono incorporati nelle pagine HTML ed eseguiti direttamente dal server per generare la pagina, con diversi linguaggi, per es. PHP (PHP: Hypertext Preprocessor), JSP (JavaServer Pages) e ASP (Active Server Pages).
Per una maggiore interazione con gli utenti, per es. mediante il movimento del mouse, gli script incorporati nelle pagine HTML devono essere eseguiti sulla macchina client anziché sulla macchina server. Il linguaggio più diffuso in questo caso è il JavaScript, ispirato al linguaggio di programmazione Java. Lo scripting sul lato server e quello su lato client si differenziano fondamentalmente nell'elaborazione dell'input dell'utente. Nel primo caso, dopo che l'utente ha effettuato l'invio, il browser raccoglie le informazioni e le invia al server, dove uno script produce una nuova pagina HTML, che viene restituita al browser per la visualizzazione; nel secondo caso, dopo l'invio dell'utente tutto il lavoro viene svolto all'interno del browser, senza contatti con il server, e il risultato è visualizzato quasi immediatamente. Per la creazione di applicazioni e componenti software da eseguire sul lato client si utilizzano anche le applets, piccoli programmi Java, anch'essi incorporati nelle pagine HTML e interpretati dai browser, compilati in codice macchina per un computer virtuale (JVM, Java Virtual Machine), un software che agisce come interfaccia tra il codice Java e il processore che esegue le istruzioni. Il software JVM traduce le operazioni da effettuare in istruzioni macchina per il computer sul quale è installato; in questo modo un'applet può essere eseguita su ogni piattaforma su cui esista un software JVM, in modo indipendente dal sistema operativo in uso.
Particolarmente veloci e più flessibili delle applets sono i controlli Active X, programmi compilati nel linguaggio macchina Pentium ed eseguiti direttamente sull'hardware che possono svolgere diverse funzioni, per es., interpretare e visualizzare file multimediali o scaricare e poi installare gli aggiornamenti del sistema operativo direttamente dalla rete.
Protocolli
I protocolli regolano il movimento delle informazioni sul w., supportando diversi modi di comunicazione su Internet. Un protocollo è semplicemente un linguaggio utilizzato dalle macchine e dai componenti software con una sintassi e una semantica. La sintassi definisce il formato dei messaggi, mentre la semantica indica come i messaggi devono essere interpretati. Sono stabiliti URL per diversi protocolli, non soltanto per l'esplorazione del w., con qualche differenza nella struttura dello schema di indirizzamento: per es., per l'accesso e lo scambio di file su Internet (FTP, File Transfer Protocol, designato nell'URL con lo schema ftp), per stabilire una connessione con una macchina remota (TELNET, con schema telnet), per il trasferimento delle e-mail (SMTP, Simple Mail Transfer Protocol, con schema mailto), o ancora per il trasferimento delle news (NNTP, Network News Transfer Protocol, con schema news).
L'HTTP (schema http) è il modo più comune per trasferire risorse sul w., il protocollo per antonomasia. La prima versione, HTTP/0.9, risale al 1992; sono seguite le versioni HTTP/1.0 (1993) e HTTP/1.1 (1997). Il protocollo consiste di un messaggio di richiesta spedito dal client al server (il server su cui risiede la risorsa oppure su cui è generata, oppure un server intermediario, il proxy) e del corrispondente messaggio di risposta da parte del server: il browser compone la richiesta, determina l'indirizzo IP del server, stabilisce una connessione TCP con il server, trasmette la richiesta, attende la risposta, che restituisce all'utente. L'HTTP è simile ai protocolli FTP e TELNET, ma è caratterizzato da mancanza di stato (stateless), ossia il server invia i file ai client senza trattenere alcuna informazione di stato relativa al client, per cui, nel caso di ulteriore richiesta della stessa risorsa da parte del client, anche dopo pochi secondi, il server procederà a un nuovo invio, non avendo mantenuto traccia di quello precedentemente effettuato (ogni coppia richiesta-risposta è considerata uno scambio di messaggi indipendente). La sintassi si basa sulla codifica MIME (Multipurpose Internet Mail Extension), che è nata per la posta elettronica. La direzione dello scambio di messaggi è necessariamente dal client al server prima e dal server al client poi. La connessione TCP è diventata di tipo persistente, ossia non è stabilita ogni volta per la richiesta e l'invio di un singolo elemento della pagina web, procedura troppo onerosa, ma mantenuta per lo scambio di più messaggi.
I messaggi di richiesta e quelli di risposta consistono entrambi di una riga iniziale, che è seguita eventualmente da altre righe con ulteriori informazioni (campi di intestazione), da una riga vuota (che indica che non vi sono altri campi di intestazioni) e da un eventuale corpo del messaggio (tipicamente informazioni per il server nelle richieste e file per il client nelle risposte).
Il messaggio di richiesta inizia con una riga di richiesta, seguita eventualmente da intestazioni di richiesta e dal corpo del messaggio. Il client ha a disposizione diversi metodi per effettuare mediante il server operazioni sulle risorse identificate in rete: la prima parola della prima riga rappresenta il nome del metodo richiesto.
Get /index.html HTTP/1.0 Date: Wed, 02 Mar 2007 10:34:01 GMT Host: www.senato.it User-Agent: Mozilla/4.03 [riga vuota]
Il metodo più utilizzato è GET, che richiede al server di leggere una pagina, sostanzialmente un file. Altri metodi sono: HEAD, che richiede di leggere l'intestazione di una pagina, per es. per ricavare la data dell'ultima modifica o per verificare la validità di un URL; PUT, che richiede di memorizzare una pagina, per es. per farne una raccolta su un server remoto; POST, che invia dati al server, per es. mediante un modulo; DELETE, che rimuove la pagina; TRACE, che indica al server di mostrare la richiesta, utile nel caso in cui il client ha necessità di accertare l'effettivo ricevimento da parte del server; OPTIONS, che richiede informazioni sulle proprietà del server oppure di un file specifico; CONNECT, ancora non utilizzato, riservato per il futuro. Le intestazioni di richiesta più utilizzate sono: User-Agent, usata dal client per trasferire al server informazioni sul browser; Accept, quattro intestazioni che comunicano al server ciò che il client è in grado di accettare (tipo di pagina, caratteri, codifiche, lingue); Host, che fornisce l del server (è obbligatoria, dal momento che alcuni indirizzi IP possono essere riferiti a più hostname); Authorization, che offre informazioni sull'affidabilità del client (necessaria per le pagine protette).
Il messaggio di risposta inizia con una riga di stato che contiene la versione HTTP del server, un codice numerico di tre cifre con diversi significati (per es., per indicare il successo o il fallimento della richiesta) e una frase di commento, seguita eventualmente da intestazioni di risposta e dal corpo del messaggio.
HTTP/1.0 200 OK Date: Wed, 02 Mar 2007 10:34:01 GMTHTTP/1.0 200 OK Content-Type: text/html Content-Length: 1256 ⟨html> ⟨body> . . . ⟨/body> ⟨/html>
La prima cifra del codice numerico divide le risposte in cinque gruppi: 1xx (informazioni, di carattere generale), raramente utilizzato; 2xx (successo, nella gestione della richiesta); 3xx (reindirizzamento, per la ricerca su URL o cache differenti); 4xx (errore del client, per es. la richiesta di una pagina inesistente); 5xx (errore del server, per es. per un problema di ricezione). Tra le intestazioni di risposta, si segnalano: Server, che dà informazioni sul server; Content, quattro intestazioni con cui il server descrive le proprietà della pagina che sta inviando (codifica del contenuto, lingua, lunghezza, tipo di pagina); Last-Modified, che fornisce la data e l'ora dell'ultima modifica; Location, che informa il client che l'URL utilizzato non è valido (per es., se la pagina è stata spostata).
bibliografia
A.S. Tanenbaum, Computer networks, Upper Sadle River (NJ), 1981, 20034 (trad. it. Milano 2003).
L.L. Peterson, B.S. Davie, Computer networks: a systems approach, Amsterdam-Boston 1996, 20033 (trad. it. Milano 2004).
T. Berners-Lee, Weaving the web. The original design and ultimate destiny of the World Wide Web by its inventor, San Francisco 1999 (trad. it. L'architettura del nuovo web, Milano 2001).
B. Krishnamurthy, Web protocols and practice, Boston 2001.
J.F. Kurose, K.W. Ross, Computer networking: a top-down approach featuring the Internet, Addison-Wesley 2001, 20053 (trad. it. Internet e reti di calcolatori, Milano 2005).
P. Galluzzi, Il web e le nuove architetture della conoscenza, in Cultural heritage on line. The challenge of accessibility and preservation, International Conference, Firenze 2006, Milano 2007.
Inoltre per l'attività del World Wide Web Consortium (W3C), si può consultare il sito www.w3.org.