Sommario
< Home
Stampa

Introduzione al Web

World Wide Web

Il World Wide Web (WWW) è quella parte della rete Internet che è accessibile tramite applicazioni chiamate browsers, preinstallate in tutti i computer e dispositivi mobili (smartphone e tablet), e consente la visualizzazione di contenuti di testo e multimediali da remoto. I contenuti sono organizzati in documenti chiamati pagine, accessibili dal browser tramite un apposito box, detto barra degli indirizzi, dove l’utente digita l’indirizzo della pagina, chiamato anche URL e tramite connessione Internet, il browser scarica la pagina corrispondente a quell’indirizzo e mostra una pagina Web.

E’ un meccanismo il cui funzionamento è noto ma che andiamo ad analizzare con maggiore profondità.

  • La pagina Web è quindi un documento che può contenere testo, elenchi, tabelle, caselle di testo, pulsanti, immagini, video, audio o una qualsiasi combinazione di questi.
  • I contenuti della pagina Web possono essere statici, cioè non cambiare mai, oppure dinamici, ovvero cambiare in base all’interazione con l’utente o anche in modo automatico.
  • Le pagine web sono organizzate in siti. Un sito è in generale identificato da un dominio, cioè quella parte iniziale della URL che identifica il computer di provenienza della pagina stessa. Questo computer è chiamato Server Web. Il browser è invece identificato come Client Web. Anche molte app mobile e per computer sono a tutti gli effetti dei client Web (quindi hanno internamente un browser, anche se non si vede la barra degli indirizzi).
  • Le pagine Web possono essere collegate tra loro tramite link (pulsanti o testi opportunamente marcati) che consentono di aprire una nuova pagina senza dover digitare la URL nella barra degli indirizzi. Questa operazione viene chiamata navigazione. Ci si può quindi spostare per tutto il World Wide Web tramite link, da cui il nome Web (“ragnatela”).
  • E’ una tecnologia molto semplice da utilizzare per tutti, e non richiede quindi competenze tecniche particolari.

Quali sono le principali applicazioni?

  • i siti web “classici”: siti di informazione, i blog, ecc;
  • i social network, dove gli utenti creano reti di collegamento con altre persone;
  • i siti di intrattenimento, come le piattaforme di streaming;
  • i videogiochi;
  • i siti di utilità, come banche, la pubblica amministrazione, le piattaforme scolastiche, ecc.;
  • le piattaforma di ecommerce, dove acquistare beni e servizi;
  • i motori di ricerca, che consentono di individuare i siti web tramite ricerca testuale;
  • la gestione di dati e documenti nel cosiddetto “cloud” dove i documenti sono editati e salvati da remoto e sono accessibili tramite qualsiasi computer;
  • la posta elettronica e i servizi di comunicazione personale come le chat;
  • le applicazioni di intelligenza artificiale;
  • in generale qualunque tipo di esperienza digitale che collega persone e servizi in tutto il mondo.

Il Web è stato inventato nel 1991 da un ricercatore del CERN, Tim Berners Lee, per creare una rete globale di informazione in ambito scientifico, sociale e culturale, e si basa sul concetto di ipertesto, ovvero di pagine collegate tra loro da link, e creare una “ragnatela globale” di informazione. E’ la tecnologia che ha realmente reso disponibile Internet a tutti, senza barriere tecnologiche e di conoscenze. Il primo browser è uscito nel 1993 ed ha segnato a partire da metà degli anni ’90 la diffusione globale di Internet.

Il Web è una rete globale e quindi in essa non esistono più confini nazionali, o linguistici o culturali o sociali. Questo non significa però che tutto è aperto. Le pagine Web possono essere protette tramite autenticazione degli utenti, e l’accesso può essere limitato e/o a pagamento.

Inoltre il Web non è una risorsa passiva: i siti Web possono memorizzare informazioni degli utenti, acquisire dati ed informazioni personali anche private delle persone.

La tecnologia del Web

Andiamo ad approfondire il funzionamento del web dal punto di vista tecnologico. Esso è costituito da tre componenti che collaborano insieme:

  • l’architettura client – server
  • la URL
  • il linguaggio HTML

Il meccanismo di funzionamento è rappresentabile con questo schema:

In pratica quando viene digitata una URL (o si clicca su un link, che internamente contiene una URL) il client (in genere il browser) il browser riceve tramite questa URL la richiesta di accesso ad una risorsa web. La URL serve ad identificare sia il server che contiene la pagina che la pagina vera e propria. Ad esempio questa URL:

https://cipiaceinfo.it/benvenuti

identifica il dominio “cipiaceinfo.it” e la pagina “benvenuti”.

Cosa è la URL

La URL (Uniform Resource Locator) è una stringa di testo che serve per identificare in modo univoco le risorse richieste. 

La URL identifica il protocollo (httphttps), il server (cioè il nome della macchina, comprensiva di dominio e sottodominio), la porta (non obbligatorio indicarla se 80), il path della risorsa (identificata come un filesystem virtuale, non è obbligatorio e dipende dalla configurazione del server) ed eventuali richieste aggiuntive opzionali sulla risorsa stessa (detta query string, non obbligatoria nemmeno questa). 

Qui la struttura completa della stringa: 

http[s]://[thirdleveldomain.]secondlevel.firstleveldomain[:port]/[path/to/resource][?ke1=value1][&key2=value2]...

Le parti tra parentesi quadre sono opzionali

Qui qualche esempio di url con tutti gli elementi

http://www.myserver.org/path/to/resource.html?p1=1&p2=ciao
https://www.google.com
https://cipiaceinfo.it/docs/programmazione/javascript/ajax

A questo punto il browser trasforma il dominio in un indirizzo Internet tramite un servizio Internet chiamato DNS. Gli indirizzi Internet (chiamati indirizzi IP) sono dei codici numerici di 4 cifre che identificano qualsiasi computer collegato ad Internet. Essi hanno la forma A.B.C.D ad esempio 10.16.21.252.

Ottenuto l’indirizzo, si connette al computer associato (detto Server Web) e invia la richiesta vera e propria. Il server elabora la richiesta e risponde con il contenuto richiesto. Il contenuto nel caso base è una pagina Web, ma può anche essere nelle pagine dinamiche anche una sua parte, come ad esempio un aggiornamento di dati di un social, un messaggio di una chat, una piccola porzione di video in streaming, e così via.

E l’HTML? L’HTML è è il linguaggio standard che serve per creare le pagine web. HTML non è un linguaggio di programmazione (non ha strutture di controllo, non ha variabili, non ha cicli, ecc.) ma serve unicamente per dare istruzioni al browser web sulla struttura ed i contenuti della pagina web. La pagina non viene quindi inviata al client già pronta per la visualizzazione, viene inviato solo l’HTML e poi sarà il browser che visualizzerà la pagina all’utente (operazione chiamata render).

La pagina Web è quindi scritta in HTML. Non è un “programma” per computer ma rappresenta invece sia i dati che saranno visualizzati nella pagina (come testi, immagini, video, ecc.) sia la loro forma (titoli, paragrafi, elenchi, tabelle, ecc.).

Una pagina HTML contiene poche o nessuna informazione sulla grafica della pagina (font, colori, sfondi, ecc.). Per questa ragione è stato creato un secondo linguaggio per la sola grafica chiamato CSS che si occupa di dare una veste grafica piacevole alle pagine ed adattarle al tipo di schermo (desktop o mobile). Il CSS viene inviato dal server al client e il client lo usa per dare la grafica alla pagina.

Inoltre la pagina è statica, come detto HTML non è un linguaggio di programmazione. Tuttavia è possibile renderla dinamica tramite un linguaggio di programmazione, Javascript. Con questo linguaggio la pagina diventa una vera e propria applicazione informatica, esso può infatti modificare l’HTML, può interagire con l’utente, può effettuare richieste ai server Web, e può quindi realizzare applicazioni grafiche ed interattive come una applicazione desktop, con qualche piccola limitazione, ma con il pieno accesso alla rete Internet.

Questo trittico, HTML/CSS/Javascript è alla base delle cosiddette applicazioni Web, ed è la tecnologia di programmazione oggi più diffusa al mondo.