Un sito web (o sito Internet oppure detto semplicemente sito)[N 1] è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti informativi che risiede, tramite hosting, su un server web, raggiungibile dall'utente finale attraverso un comune motore di ricerca e/o un indirizzo web tramite l'uso di browser web.
Dal punto di vista dell'organizzazione o struttura dei contenuti tipicamente un sito web è strutturato in una pagina principale (home page), che rappresenta la pagina principale di presentazione del sito e dei suoi contenuti e dalle pagine web secondarie dei contenuti, raggiungibili dai menù e widget presenti nell'home page stessa tramite link interni (ancore) al sito stesso. Quando il sito web costituisce un punto di partenza, un portone di ingresso, per raggruppare servizi o informazioni web di tipi differenti (di solito sviluppate e gestite in modo autonomo l'una dall'altra), si parla più propriamente di portale web. Spesso inoltre un sito web si accoppia/accompagna a un database sullo stesso web server per la memorizzazione strutturata di dati e informazioni[1][2]. L'home page di un sito è la pagina che si ottiene digitando il solo nome di dominio.
Per esempio, nell'indirizzo www.w3c.org/Consortium/Offices/role.html:
Solitamente le pagine di un sito risiedono tutte sullo stesso Web server, ossia lo spazio fisico in cui risiedono i files che compongono il sito, e la ramificazione in sottocartelle dell'indirizzo corrisponde ad una uguale ramificazione nell'hard disk dello stesso server. L'accesso a un sito o alle pagine web per eventuali modifiche su contenuti e/o forma da parte degli sviluppatori è riservato all'amministratore del sito, tramite codici o chiavi di accesso.
Per l'interpretazione del codice che compone una pagina web vengono comunemente usati i browser ovvero quei software che hanno il compito di interpretare il codice e restituirne un output grafico. Tra i browser più comunemente usati possiamo trovare (a titolo indicativo e non esaustivo) Mozilla Firefox, Google Chrome, Opera, Microsoft Internet Explorer, Microsoft Edge (OS Windows 10) e Safari. I file interpretati da questi software all'accesso della pagina web sono solitamente i fogli di stile (CSS) e i vari script che vengono richiamati all'accesso della pagina. Questi determinano dunque l'aspetto grafico finale restituito all'utente all'accesso della pagina[3].
Dal punto di vista della struttura e della tecnologia adoperata, i siti web si possono distinguere sommariamente in due tipi principali[4][5][6]:
A loro volta alcune agenzie web più professionali tendono a volerli differenziare ancora in:
Molto importante è capire che lo sviluppo web su misura è caratteristica assai complessa da elaborare e che i relativi costi di produzione possono variare di molto sulla scala economica. I siti web statici formati da pagine statiche presentano contenuti di sola ed esclusiva lettura, solitamente vengono aggiornati con una bassa frequenza e sono mantenuti da una o più persone che agiscono direttamente sul codice HTML della pagina (tramite appositi editor web). Si tratta storicamente della prima generazione di siti web.
I siti web dinamici formati da pagine web dinamiche presentano invece contenuti redatti dinamicamente (in genere grazie al collegamento con un database) e forniscono contenuti che possono variare in base a più fattori. I siti web dinamici sono caratterizzati da un'alta interazione fra sito e utente; alcuni elementi che caratterizzano la dinamicità di un sito possono essere: l'interazione con uno o più database, la visualizzazione dell'ora server, operazioni varie sul file system (tipo creazione dinamica di documenti, ecc.), il cloaking basandosi su vari parametri (tra i quali lo user agent, o il browser, o la risoluzione dell'utente), la visualizzazione o stampa o catalogazione degli indirizzi IP degli utenti, e molto altro.
Essi possono essere scritti tramite linguaggi di scripting come ASP, PHP e molti altri linguaggi web. Particolarità dei siti dinamici è che le "pagine" che costituiscono il sito vengono generate all'atto della chiamata da parte dell'utente (fatta eccezione per i sistemi che adottano una cache) in quanto i contenuti non sono memorizzati direttamente nel codice sorgente della pagina, bensì in sistemi di memorizzazione esterni allo stesso, come le già citate basi di dati. La modifica dei contenuti, che spesso possono essere aggiornati grazie ad alcuni editor grafici (detti WYSIWYG) anche senza agire direttamente sul codice, è generalmente frequente. Un chiaro esempio di sito dinamico è www.wikipedia.org.
I siti web vengono poi comunemente divisi in categorie per inquadrarne il settore di operatività o i servizi offerti[7]:
Molti siti sono un incrocio tra due o più delle precedenti categorie. Ad esempio, un sito aziendale può allo stesso tempo pubblicizzare i propri prodotti e pubblicare materiale informativo. Prende il nome di portale un sito web che ha assunto dimensioni tali da costituire un punto di partenza, una porta di ingresso ad un gruppo consistente di risorse per gli utenti del web; l'argomento del portale può essere più o meno generalista oppure specializzato (portale verticale). Taluni siti web presentano aree riservate, ovvero sezioni accessibili solamente previo pagamento di un canone, registrazione, o assegnazione di una password.
I siti risiedono, tramite hosting, su un server web e sono accessibili all'utente client che ne inoltri richiesta di accesso tramite un web browser sul World Wide Web della rete Internet, digitando in esso il rispettivo URL o direttamente l'indirizzo IP. Le pagine di un sito web sono accessibili tramite una radice comune (detta "nome di dominio", per esempio "www.kernel.org"), seguita da una serie opzionale di "sotto cartelle" e dal nome della pagina. Il nome completo di ogni pagina è detto "indirizzo web" o, più tecnicamente, URI (o URL)[8].
La progettazione di un sito web è analoga a larghe linee al modello di sviluppo del software tipica dell'ingegneria del software con la definizione/pianificazione iniziale di ciò che deve essere realizzato a livello logico (analisi/definizione delle specifiche, strutturazione dei contenuti e grafica/formattazione), seguita dalla fase implementativa e dalla fase di testing e successiva eventuale correzione delle incongruenze con le specifiche o l'usabilità del sito stesso. La realizzazione/gestione di un sito web fa ampio uso di tecniche e conoscenze proprie della programmazione Web o di format predefiniti direttamente a disposizione dell'utente amministratore forniti da strumenti appositi o reperibili in rete e dall'uso tipicamente user friendly[9].
Il linguaggio più diffuso con cui i siti web sono realizzati è l'HTML (Hyper Text Markup Language), i suoi derivati e i CSS. In particolare l'HTML viene interpretato da particolari software chiamati web browser. Alcuni plugin per i browser, come Flash, Shockwave o applet Java, permettono la visualizzazione di contenuti animati. Per i siti web dinamici dove alcuni contenuti possono essere generati dinamicamente sul browser dell'utente, in aggiunta ai precedenti linguaggi si usano linguaggi di scripting come JavaScript o Dynamic HTML, tecnologie supportate per impostazione predefinita da tutti i browser recenti (programmazione web client-side).
Per la costruzione/realizzazione di siti web dinamici in grado invece di estrapolare dati da database, inviare email, gestire informazioni, ecc., i linguaggi di scripting più diffusi sono PHP, Ruby, Python e ASP in alternativa al Java, solitamente usato per applicazioni enterprise (programmazione web server-side). Per la creazione di siti internet molti webmaster usano comunemente strumenti automatizzati, chiamati webeditor (es. WYSIWYG), grazie ai quali possono redigere il codice anche senza avere un'approfondita conoscenza dei linguaggi. Sempre più la realizzazione e la gestione di siti web complessi e ricchi di contenuti passa attraverso l'uso di Content Management System (CMS), delle vere piattaforme web (sorta di evoluzione dei web editor) per le quali non è richiesta alcuna conoscenza di tecniche di programmazione web ed utili anche per forum, blog e portali di e-commerce. Queste piattaforme spesso si appoggiano su piattaforme XAMPP.
I siti web devono soddisfare dei requisiti di accessibilità che rendano i suoi contenuti fruibili a chiunque, compresi i soggetti affetti da disabilità psichica e fisica, definiti in regole precise denominate Web Content Accessibility Guidelines (WCAG) definite dal World Wide Web Consortium (W3C)[10].
Tra le figure professionali legate alla creazione dei siti web vi sono[11][12]:
Nel panorama delle professionalità di rete si è cercato di dare una regolamentazione basandosi sui modelli europei E-cf con la creazione da parte di IWA - entità di standardizzazione per le professioni Web - di una serie di figure professionali secondo criteri di competenze e conoscenze.
Sebbene esistano tecniche per aumentare la sicurezza, nei siti dinamici potrebbero verificarsi[13][14][15]:
author
Le cause principali per un sito web lento sono[16][17]:
Annualmente e mensilmente alcune associazioni assegnano premi ai migliori siti web (per quanto riguarda il coding, il design, la creatività, l'originalità eccetera)[18][19][20][21][22].
Gli aspetti giuridici relativi alla pubblicazione di documenti su un sito web sono spesso controversi, poiché documenti siti in una determinata nazione sono resi accessibili anche da luoghi con leggi ed usi del tutto differenti, ma anche perché le stesse leggi delle singole nazioni seguono con fatica la continua e rapida evoluzione del Web. In linea generale i contenuti di un sito sono sottoposti alle condizioni di uso del fornitore dello spazio web (hosting) e alle leggi della nazione in cui esso è situato (ad esempio leggi sul copyright, sulla pornografia, ecc.). Alcuni ordinamenti prevedono speciali adempimenti a carico dei gestori di siti web. Nei paesi germanofoni, ad esempio, è obbligatorio inserire nel sito una dichiarazione di proprietà e paternità detta Impressum[23].
In Italia, il Dlgs 196/2003 (Legge sulla privacy) impone ai siti che raccolgono informazioni personali degli utenti, o svolgono attività di commercio elettronico, di fornire all'interessato una idonea informativa sul trattamento dei dati personali. Tuttavia, nel 2014 una ricerca di Federprivacy ha evidenziato che il 67% dei siti italiani violavano tale prescrizione, soggetta a sanzioni dai 6.000 fino ai 36.000 euro.[24][25][26][27]
L’art. 2250 del Codice Civile, modificato dall’art. 42, L. 88/2009 impone alle società di capitali di pubblicare informazioni legali nei propri atti, nella corrispondenza, nel sito web aziendale e negli altri luoghi virtuali di comunicazione, come email e profili sui social networks. Questi dati includono: ragione sociale, sede legale, Codice Fiscale e Partita IVA, posta elettronica certificata (PEC), Ufficio del Registro dove si è iscritti, numero Repertorio economico amministrativo (Rea), e altre ancora, in funzione dello specifico assetto societario.[28]
L'aggiornamento dei contenuti potrebbe non richiedere mai il coinvolgimento di uno sviluppatore. Gli utenti sono in grado di gestire i contenuti da soli. Ciò si traduce in risparmi sui costi di sviluppo o manutenzione a lungo termine.
bbc.com/news
La registrazione è il processo di creazione, acquisto e mantenimento, su internet, del nome di dominio relativo ad un sito web. Viene eseguita da organizzazioni denominate registrar (per l'Italia Register.it) che agiscono secondo le regole ICANN. Tramite tale procedura il proprietario del dominio e, di conseguenza, dell'indirizzo dei siti web collegati, dei relativi servizi ftp e del certificato SSL per l'https, e dell'indirizzo mail può vantare i relativi diritti. Nel caso il proprietario sia un'organizzazione (impresa, associazione, ente pubblico, etc) solitamente si indica il nome del rappresentante legale. Ovviamente, in questi casi i nominativi possono cambiare nel tempo.
L'Auth Code (abbreviazione di Authorization Code), detto anche codice auth-info, è la stringa alfanumerica che identifica univocamente un dominio, fornita dal registrar all'utente che ha eseguita la richiesta di registrazione (a volte con la mediazione di una web agency o un provider)[N 2], che dimostra la relativa proprietà. Questo codice (insieme alla credenziale di accesso al pannello di amministrazione del sito) è necessario nel caso di trasferimento del sito web tra vari fornitori di hosting perché, in sua assenza l'operazione di migrazione è impossibile. È possibile richiederlo al registrar anche dopo la registrazione del dominio.
Altri progetti