Soluzioni per il web — 1) L'ipertesto
Un po' di storia
Il termine ipertesto fu coniato da Theodor Holm Nelson nel 1965 per indicare un insieme di materiali (testi, immagini, media) interconnessi in modo non lineare. Il prefisso iper richiama l'idea di superare la sequenzialità tipica del testo tradizionale.
Le idee di Nelson diventarono realtà nel 1989, quando Tim Berners‑Lee al CERN propose il World Wide Web per condividere informazioni tra gruppi di ricerca distribuiti. La combinazione di browser, linguaggio HTML e collegamenti hyperlink ha reso l'ipertesto la forma di comunicazione tipica sul web.
Ipertesto e World Wide Web
L'interfaccia più comune per accedere a Internet, detta WWW, può essere vista come un grande ipertesto: le pagine sono collegate tramite collegamenti cliccabili (link). Per questo si parla spesso di ipertesto globale.
Il browser
Il browser è il programma che permette di navigare e interagire con le pagine web (testi, immagini, altri contenuti multimediali) connesse in rete.
Perché il WWW ha cambiato Internet
Prima del protocollo HTTP, scambiare dati su Internet era più macchinoso e non esisteva un modo standard per collegare documenti diversi. Con HTTP e gli hyperlink diventa possibile collegare tra loro informazioni eterogenee in modo trasparente, a partire dallo stesso documento o da documenti remoti.
I linguaggi dell'ipertesto
La produzione di ipertesti avviene tramite linguaggi di markup, che aggiungono marcature a un testo per definirne struttura e rappresentazione.
- Markup procedurale: indica le procedure di impaginazione (come eseguire la resa). Esempi storici:
Script,TROFF,TEX. - Markup descrittivo: descrive la struttura del documento lasciando al software la scelta della resa. Standard:
SGML,HTML,XML.
In sintesi
- Ipertesto: supera la lettura lineare collegando unità informative tramite link.
- WWW: è un ipertesto globale di pagine collegate; HTTP standardizza la comunicazione.
- Browser: client che richiede risorse, interpreta HTML/CSS/JS e presenta i contenuti.
- Markup: procedurale (come rappresentare) vs descrittivo (cosa rappresentare).
- Sito web: insieme di pagine collegate; link di sezione, interni, esterni.
Quiz di verifica
1) Nel termine "ipertesto", cosa esprime il prefisso iper?
2) Qual è la differenza principale tra markup procedurale e markup descrittivo?
Il sito web
Un sito web è un ipertesto composto da più pagine. Un menu di navigazione aiuta a muoversi tra le pagine attraverso i link.
Tipologie di link:
- Link di sezione: collegano porzioni della stessa pagina (ancore).
- Link interni: collegano a pagine dello stesso sito.
- Link esterni: rimandano a pagine o risorse esterne al sito.
Nella progettazione di un sito contano l'utenza di riferimento, l'organizzazione dei collegamenti, la grafica e l'attenzione ai contenuti.
Soluzioni per il web — 2) Architettura per il web
Client‑server
Il web adotta un’architettura client‑server: due componenti con compiti distinti collaborano tra loro.
Client (user agent): è il software dell’utente, tipicamente il browser, che consente la navigazione nell’ipertesto del web. Svolge funzioni di richiesta e visualizzazione:
- invia al server le richieste delle pagine e delle risorse;
- ottiene e visualizza le informazioni richieste;
- gestisce la resa della pagina richiesta (testo, immagini, collegamenti).
Server: è un processo in esecuzione su un computer remoto che riceve e serve le richieste dei client. In genere:
- accetta e mette in coda le richieste;
- risponde nel modo migliore possibile (reperendo file o generando contenuti);
- registra le informazioni di monitoraggio e i messaggi di errore;
- gestisce più richieste in parallelo ed è sempre in ascolto di nuove richieste.
In pratica, il client agisce su iniziativa dell’utente e il server risponde fornendo risorse (statiche o generate al momento). La comunicazione avviene tramite protocolli della famiglia TCP/IP e, per le pagine web, attraverso HTTP/HTTPS.
Siti statici
Per sito statico si intende un sito composto da un numero definito di pagine HTML predisposte in anticipo in base alle esigenze del committente.
Quando il client richiede una pagina, il server verifica l’esistenza del file e lo invia al client: non è necessaria alcuna elaborazione lato server. I siti statici sono adatti a contenuti vetrina (presentazioni, schede, pagine istituzionali) che non richiedono aggiornamenti frequenti.
- Punti di forza: semplicità, velocità di risposta, costi contenuti.
- Limiti: aggiornamento manuale, scarsa personalizzazione per l’utente.
I siti statici sono utili quando il contenuto cambia raramente e l’obiettivo è la chiarezza informativa con tempi di caricamento minimi.
Siti dinamici
Un sito dinamico costruisce le pagine al momento sul server seguendo una strategia modulare. Entra in gioco un linguaggio di programmazione lato server che compone la pagina e, se necessario, interroga una base di dati.
Flusso tipico: il client invia la richiesta → il server elabora (logica applicativa) → opzionalmente interroga il database → genera la pagina → la invia al client.
- Vantaggi: contenuti aggiornabili in tempo reale, personalizzazione, integrazione con archivi dati.
- Contro: maggiore complessità e costi di gestione/hosting.
Nei siti dinamici, le pagine contengono istruzioni che dicono al server come assemblare i dati (ad esempio articoli, prodotti) in base alla richiesta dell’utente; i dati risiedono in archivi dedicati e non nelle singole pagine.
In sintesi
- Client chiede e visualizza; server riceve e risponde.
- Statico = file pronti; dinamico = pagine generate su richiesta.
- Dinamico usa spesso database per recuperare informazioni aggiornate.
Quiz di verifica
1) Quale asserzione descrive correttamente il rapporto client‑server nel Web?
2) In quale scenario un sito statico è particolarmente adatto?
3) Quale affermazione sui siti dinamici è corretta?
Soluzioni per il web — 3) Hosting e housing
Spazi web (hosting)
Un sito, una volta creato, è visibile solo sul computer in cui si trova. Per renderlo accessibile su Internet è necessario pubblicarlo trasferendo i file su uno spazio web fornito da un hosting provider.
Il provider mette a disposizione uno spazio su un server raggiungibile 24/7 tramite connessioni veloci. La scelta dell’hosting può essere gratuita o a pagamento e dipende dai servizi inclusi e dalle esigenze del progetto.
Per scegliere con consapevolezza:
- Funzionalità richieste (servizi, linguaggi supportati, database, email, backup, pannello di controllo);
- Dimensione del sito e traffico previsto (banda, spazio, limiti);
- Sistema operativo del server (Linux o Windows) e tecnologie disponibili.
Tecnologie tipiche per sistema operativo:
- Linux: server web Apache, DBMS MySQL, linguaggio PHP;
- Windows: server web IIS, DBMS SQL Server, linguaggio ASP.
Housing
L’housing collega un server di proprietà del cliente alla rete Internet nei locali del provider. Il provider cura aspetti logistici e infrastrutturali (connessione, alimentazione, gruppi di continuità, gestione porte), mentre il cliente mantiene il pieno controllo di hardware e software del proprio server.
Il server viene amministrato in loco o da remoto (configurazioni, manutenzione, installazioni). È una soluzione più costosa dell’hosting condiviso: oltre al canone, occorre acquistare e gestire server, sistema operativo, database ed eventuali software applicativi.
Tipologie di hosting (panoramica)
- Condiviso: più siti sullo stesso server. Economico, adatto a progetti piccoli e medi; risorse condivise.
- VPS (Virtual Private Server): risorse dedicate virtualizzate. Più controllo rispetto al condiviso.
- Dedicato: un server fisico per un solo cliente. Alte prestazioni e controllo totale, costo elevato.
- Cloud: risorse scalabili su più nodi. Elasticità, alta disponibilità, fatturazione a consumo.
Altri criteri di scelta
- Affidabilità: uptime garantito (SLA), ridondanza, backup automatici.
- Sicurezza: certificati
SSL, aggiornamenti, isolamento account, firewall. - Supporto: canali e tempi di risposta, base di conoscenza, strumenti di migrazione.
- Scalabilità: possibilità di aumentare risorse senza downtime.
In sintesi
- Hosting: spazio su server del provider per pubblicare i file del sito.
- Stack tipici: Linux→Apache/MySQL/PHP, Windows→IIS/SQL Server/ASP.
- Housing: server di proprietà del cliente nei locali del provider; massimo controllo, costi maggiori.
Quiz di verifica
1) Quale fattore è più indicativo nella scelta dell’hosting per un sito con picchi di visite e necessità di crescita rapida?
2) Quale associazione OS → tecnologie è corretta?
3) Quale affermazione sull’housing è corretta?
Soluzioni per il web — 4) Pubblicare un sito
Il nome del sito
La scelta del nome del sito incide sul successo del progetto. Il nome dovrebbe essere vicino all’argomento o all’attività, facile da leggere e ricordare, scritto correttamente. Esempi di nomi efficaci sono quelli brevi e significativi (evitare nomi troppo lunghi o ambigui).
Il nome influenza anche l’indirizzo (dominio) con cui il sito sarà raggiungibile sul web. I nomi devono essere univoci in tutta la rete: se non disponibile, occorre trovare varianti appropriate.
Suggerimenti pratici:
- Privilegia chiarezza e memorabilità (evita numeri/segni superflui).
- Controlla eventuali marchi registrati e omonimie.
- Valuta l’estensione (TLD) in base al pubblico:
.itnazionale,.cominternazionale, ecc.
Whois
Whois è un servizio di rete che, interfacciandosi con appositi database, consente di verificare a chi appartiene un nome di dominio e altre informazioni correlate. È utile per accertare la disponibilità di un dominio e per conoscere il provider a cui è registrato.
Informazioni tipiche reperibili tramite Whois (in base al consenso del registrante):
- dati dell’intestatario del dominio e del contatto tecnico;
- stato del dominio, date di creazione e scadenza;
- indirizzo email per le comunicazioni.
Per ragioni di privacy, alcuni dati possono essere limitati o oscurati (policy e regolamenti possono variare per estensione e registri).
I domini
Ogni risorsa su Internet è identificata da un indirizzo numerico (IP). Poiché è difficile da ricordare, si usa un nome di dominio composto da caratteri alfabetici. Il sistema DNS (Domain Name System) traduce i nomi nei corrispondenti indirizzi IP e viceversa.
La struttura dei domini è gerarchica ad albero. Un nome di dominio completo (FQDN) è formato da etichette separate da punti e ordinate dai livelli più specifici a quelli più generali (es.: blog.esempio.it è un sottodominio di esempio.it, a sua volta sotto il TLD .it).
DNS in breve: i resolver ricorsivi interrogano server radice → TLD → autoritativi fino a ottenere la risposta; le informazioni vengono cachate per migliorare le prestazioni.
FTP: trasferire i file
Una volta ottenuto lo spazio, occorre trasferire sul server le cartelle e i file del sito. Si utilizza FTP (File Transfer Protocol) o protocolli equivalenti supportati dal provider.
I client FTP permettono il trasferimento intuitivo: normalmente mostrano, affiancati, il file system locale e quello remoto dello spazio web; è possibile spostare i file in entrambe le direzioni, effettuare upload/download, creare cartelle e gestire i permessi secondo le possibilità offerte dal servizio.
Credenziali tipiche: host, utente, password, porta. Preferisci protocolli cifrati quando disponibili: SFTP (SSH) o FTPS (FTP su TLS).
In sintesi
- Nome chiaro e coerente con il progetto; verifica disponibilità e TLD.
- Whois aiuta a conoscere intestatario e stato di un dominio.
- DNS traduce nomi in IP con struttura gerarchica; il caching accelera le risposte.
- FTP/SFTP per pubblicare i file sullo spazio del provider.
Quiz di verifica
1) Quale informazione è tipicamente ottenibile tramite Whois?
2) Quale tra i seguenti è un FQDN valido?
3) Per trasferire file in modo cifrato, quale opzione è preferibile?
Soluzioni per il web — 5) Soluzioni pronte all’uso: CMS (Content Management System)
Cos’è un CMS
Un CMS (Content Management System) è un sistema di gestione dei contenuti che costituisce la base di funzionamento di molti siti web moderni. Fornisce strumenti per inserire, organizzare, pubblicare e aggiornare i contenuti in modo rapido e controllato.
Contenuto e dato
Contenuto è qualsiasi unità di informazione utile per l’utente: testo, immagini, grafica, suoni, video, documenti, moduli, registrazioni.
Dato è un’unità informativa elementare (es. titolo, autore, data, categoria) che, combinata ad altre, compone il contenuto da presentare.
Separazione tra dati e presentazione
Nei CMS i dati vengono memorizzati in un database e la loro presentazione è demandata a template (pagine modello). Questo consente di cambiare l’aspetto del sito (tema, layout) senza modificare i dati e, viceversa, di riutilizzare gli stessi dati in più contesti.
In pratica, la redazione inserisce contenuti (titoli, testi, immagini) nel back‑end; il CMS li salva come dati strutturati. Il front‑end li mostra secondo i template scelti, permettendo di variare grafica e struttura senza toccare i contenuti.
Vantaggi principali
- Velocità di pubblicazione e aggiornamento dei contenuti;
- Modularità: possibilità di aggiungere funzionalità (moduli, plugin) secondo le esigenze;
- Multi‑utenza: gestione di utenti con ruoli e permessi differenti;
- Usabilità: interfacce di back‑end per redazione e amministrazione;
- Scalabilità: gestione di grandi quantità di contenuti, cataloghi, archivi.
Esempi di CMS
Tra i più diffusi: WordPress, Joomla, Drupal, PHP‑Nuke, OpenCMS. Ogni piattaforma offre strumenti e moduli diversi; la scelta dipende dagli obiettivi del sito e dalle competenze disponibili.
Utenti e privilegi
- Ospiti / Pubblico: visitatori senza credenziali; possono consultare i contenuti pubblici.
- Utenti registrati: visitatori con credenziali che accedono ad aree riservate e funzionalità aggiuntive.
- Autori: possono inserire, modificare e gestire contenuti (articoli, pagine, media) secondo i permessi.
- Amministratori: configurano il sito, gestiscono utenti, ruoli, template, moduli e impostazioni.
Di norma il CMS distingue tra Back‑End (pannello di amministrazione) e Front‑End (parte pubblica per i visitatori).
In sintesi
- CMS: gestisce contenuti come dati strutturati; semplifica pubblicazione e aggiornamento.
- Separazione: dati nel database, presentazione nei template → si cambia l’aspetto senza toccare i contenuti.
- Modularità: funzioni estendibili con moduli/plugin in base alle esigenze.
- Ruoli: utenti con permessi diversi per inserimento, revisione, pubblicazione, amministrazione.