Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


3cfu informatica base, Appunti di Elementi di Informatica

riassunto argomenti principali per esame di informatica base

Tipologia: Appunti

2019/2020
In offerta
30 Punti
Discount

Offerta a tempo limitato


Caricato il 26/06/2020

martina-di-donna
martina-di-donna 🇮🇹

4

(3)

1 documento

1 / 15

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
3CFU INFORMATICA
G1
L’informazione può essere definita come un insieme di dati espressi mediante
una rappresentazione simbolica ed inseriti in un contesto interpretativo.
Un codice è un insieme di simboli e di regole. Queste ultime sono necessarie a definire
l’uso e il significato dei simboli.
numerazione binaria. Questa fu inventata nel XVII secolo da Gottfried Liebniz e si basa
sull’utilizzo di soltanto due cifre: 0 e 1.
Un bit (binary digit) rappresenta l’unità minima di informazione, ossia una sola unità
informativa che può avere valore 0 o 1. Per poter rappresentare un numero maggiore di
informazioni sarà necessario combinare i bit in sequenze.
Un byte è formato da una sequenza di 8 bit contigui. Un byte può rappresentare 256
informazioni diverse.
ASCII Esteso: un codice di 8 bit (1 byte)
UNICODE: un codice che può essere usato a 8, 16 o 32 bit (1, 2 o 4 byte) e che codifica i
caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli
matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi, ecc.
Il campionamento è una tecnica che consiste nel convertire un segnale continuo nel tempo
o nello spazio in un segnale discreto, valutandone l'ampiezza a intervalli temporali o
spaziali solitamente regolari, in modo da ottenere un numero finito di punti (chiamati
campioni). Perché questa operazione non comporti una perdita di informazione o la
comparsa di difetti percepibili (chiamati aliasing), è necessario che gli intervalli temporali o
spaziali a cui si legge il valore del segnale siano più piccoli della metà del più piccolo
dettaglio a cui si è interessati (teorema di Nyquist-Shannon).
Un numero finito di campioni però non basta a permettere la rappresentazione di un
segnale nel calcolatore, è infatti necessario che ogni campione abbia anche
una precisione finita, cioè sia rappresentabile con un numero finito di bit. L'operazione con
cui il valore di un campione viene arrotondato alla precisione desiderata prende il nome
di quantizzazione
3 modi di memorizzare l'informazione: in modo non compresso, in modo compresso
senza perdita di informazioni (lossless), e in modo compresso con perdita di
informazioni (lossy).
G2
Grazie al lavoro intellettuale di Alan Turing, è possibile modellare il funzionamento di un
calcolatore come l’interazione tra componenti fisiche hardware e programmi software. Il
termine hardware, letteralmente “ferraglia”, designa la parte fisica della macchina,
composta da tutte le componenti materiali che ne consentono il funzionamento sulla base
dei principi dell’elettronica.
La CPU (Central Processing Unit) è l’unità centrale del calcolatore. Si occupa di eseguire i
programmi che sono scritti in linguaggio macchina. Attualmente le CPU sono costituite da
microprocessori che racchiudono in un unico circuito integrato le seguenti componenti di
calcolo.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
Discount

In offerta

Anteprima parziale del testo

Scarica 3cfu informatica base e più Appunti in PDF di Elementi di Informatica solo su Docsity!

3CFU INFORMATICA

G

L’informazione può essere definita come un insieme di dati espressi mediante una rappresentazione simbolica ed inseriti in un contesto interpretativo. Un codice è un insieme di simboli e di regole. Queste ultime sono necessarie a definire l’uso e il significato dei simboli. numerazione binaria. Questa fu inventata nel XVII secolo da Gottfried Liebniz e si basa sull’utilizzo di soltanto due cifre: 0 e 1. Un bit ( binary digit ) rappresenta l’unità minima di informazione, ossia una sola unità informativa che può avere valore 0 o 1. Per poter rappresentare un numero maggiore di informazioni sarà necessario combinare i bit in sequenze. Un byte è formato da una sequenza di 8 bit contigui. Un byte può rappresentare 256 informazioni diverse. ASCII Esteso : un codice di 8 bit (1 byte) UNICODE: un codice che può essere usato a 8, 16 o 32 bit (1, 2 o 4 byte) e che codifica i caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi, ecc. Il campionamento è una tecnica che consiste nel convertire un segnale continuo nel tempo o nello spazio in un segnale discreto, valutandone l'ampiezza a intervalli temporali o spaziali solitamente regolari, in modo da ottenere un numero finito di punti (chiamati campioni). Perché questa operazione non comporti una perdita di informazione o la comparsa di difetti percepibili (chiamati aliasing ), è necessario che gli intervalli temporali o spaziali a cui si legge il valore del segnale siano più piccoli della metà del più piccolo dettaglio a cui si è interessati (teorema di Nyquist-Shannon). Un numero finito di campioni però non basta a permettere la rappresentazione di un segnale nel calcolatore, è infatti necessario che ogni campione abbia anche una precisione finita, cioè sia rappresentabile con un numero finito di bit. L'operazione con cui il valore di un campione viene arrotondato alla precisione desiderata prende il nome di quantizzazione 3 modi di memorizzare l'informazione: in modo non compresso , in modo compresso senza perdita di informazioni ( lossless ), e in modo compresso con perdita di informazioni ( lossy ). G Grazie al lavoro intellettuale di Alan Turing, è possibile modellare il funzionamento di un calcolatore come l’interazione tra componenti fisiche hardware e programmi software. Il termine hardware , letteralmente “ferraglia”, designa la parte fisica della macchina, composta da tutte le componenti materiali che ne consentono il funzionamento sulla base dei principi dell’elettronica. La CPU ( Central Processing Unit ) è l’unità centrale del calcolatore. Si occupa di eseguire i programmi che sono scritti in linguaggio macchina. Attualmente le CPU sono costituite da microprocessori che racchiudono in un unico circuito integrato le seguenti componenti di calcolo.

 L’unità di controllo (CU, Control Unit) esegue le istruzioni dei programmi, coordina le attività del microprocessore e controlla il flusso delle istruzioni tra il microprocessore e la memoria. Inoltre svolge la sua attività in modo ciclico: preleva dalla memoria principale la “prossima” istruzione da eseguire, preleva gli operandi specificati nell'istruzione, decodifica ed esegue l’istruzione, e infine ricomincia (ciclo macchina).  I registri di memoria sono delle unità di memoria estremamente veloci con capacità ridotta, ma con tempo di accesso molto breve. Attualmente le loro dimensioni variano da 16 a 64 bit e i registri vengono utilizzati per immagazzinare le istruzioni e i dati che stanno per essere processati o sono appena stati processati.  L’unità logico aritmetica (ALU, Arithmetic-Logic Unit) è il nucleo di esecuzione dei calcoli, essendo in grado di eseguire operazioni come somma, sottrazione, moltiplicazione e divisione, oltre che le principali operazioni logiche come AND, OR e NOT. Una volta prelevati gli operandi dai Registri di memoria, la ALU esegue l'operazione richiesta e ne deposita il risultato nuovamente in memoria. La ALU, insieme all'unità di controllo, collabora al completamento di un ciclo macchina.  I bus sono canali di comunicazione tra le varie componenti dell’elaboratore e si differenziano a seconda della funzione svolta. G Se l'hardware è la componente materiale di un calcolatore, il software ne costituisce la componente immateriale. Il termine software (letteralmente "materia morbida") è l'insieme dei programmi che possono essere eseguiti da un calcolatore. In particolare, un singolo programma software è un insieme di istruzioni che un calcolatore, e più precisamente la CPU, deve eseguire per portare a compimento un certo compito ( task ). Il software di sistema è l’insieme dei programmi che gestiscono le risorse e il comportamento del calcolatore. In questa categoria, il software più importante è il sistema operativo , un insieme di programmi che controlla e gestisce le funzionalità legate a CPU, memoria, periferiche e dispositivi di input/output collegati al calcolatore. Nel software di sistema sono inclusi i firmware e i driver. Il firmware è un software integrato in un dispositivo elettronico per svolgere funzioni specifiche, come l’avvio del dispositivo stesso. Un esempio di firmware è il BIOS ( Basic Input-Output System ) che è un firmware integrato sulla scheda madre del calcolatore con il compito di eseguire la procedura di avvio all'accensione della macchina. Il driver è un software che affianca uno specifico dispositivo e ne consente il corretto funzionamento. Il software applicativo comprende tutti i programmi che consentono all'utente di eseguire compiti specifici. Sono esempi di software applicativo i programmi per la creazione e la gestione di documenti (es. Microsoft Word), i fogli di calcolo (es. Microsoft Excel), i browser per la navigazione su web (es. Mozilla Firefox), i programmi per la gestione della posta elettronica (es. Microsoft Outlook), i programmi per l’elaborazione delle immagini (es. Adobe Photoshop) e così via. il sistema operativo si occupa di gestire l’interazione fra l’utente e il calcolatore. In particolare, è compito del sistema operativo intercettare i comandi dell’utente e fare in modo che essi siano correttamente eseguiti orchestrando il funzionamento delle varie componenti del calcolatore che si rendessero necessarie. A tal fine, il sistema operativo è dotato di un’interfaccia, normalmente visuale, che consente all'utente di comunicare in maniera intuitiva e naturale con il calcolatore. Questa interfaccia è chiamata GUI ( Graphical User Interface ) F

F

CONTA.SE è la funzione di conteggio più flessibile tra quelle offerte da Excel, poiché consente all'utente di specificare quali celle (tra quelle considerate dall'intervallo) includere nel conteggio in base a una condizione. La sintassi della funzione CONTA.SE è la seguente: =CONTA.SE( intervallo ; criterio ) La funzione prevede due argomenti. L'argomento intervallo stabilisce l’intervallo di celle da considerare per il conteggio. L'argomento criterio esprime la condizione che deve essere soddisfatta affinché una cella di intervallo sia inclusa nel conteggio. Generalmente, criterio è costituito da un’operazione di confronto per cui il contenuto di una cella è comparato con un valore costante, il contenuto di un’altra cella o un'espressione. La condizione espressa in criterio è valutata per ogni cella di intervallo e, per ciascuna di esse, restituisce un valore booleano (VERO o FALSO) che determina se quella cella debba essere inclusa nel conteggio o meno. B L’organizzazione dei dati presenta alcuni limiti.  Validità dei dati : in un foglio di calcolo, non è possibile effettuare controlli sull’ammissibilità dei valori inseriti per una specifica caratteristica.  Ridondanza dei dati : in un foglio di calcolo, uno specifico dato deve essere inserito in tutte le celle nelle quali il valore è richiesto anche se presente in una riga precedente  Propagazione delle modifiche: come conseguenza della ridondanza, l’aggiornamento di un dato presente in numerose celle richiede l’individuazione e la modifica manuale di tutte le celle interessate. B Una base di dati (o database in lingua Inglese) è una collezione di dati coerenti creata allo scopo specifico di rappresentare e memorizzare adeguatamente le informazioni di una realtà d’interesse. Un’ulteriore caratteristica fondamentale delle basi di dati è quella di semplificare il continuo aggiornamento dei dati memorizzati, al fine di fornire dati sempre attuali agli utenti e alle applicazioni che ne hanno necessità per lo svolgimento delle loro specifiche attività. Un sistema di gestione di basi di dati ( DBMS , database management system ) è un sistema software realizzato per supportare la definizione e la manipolazione della base di dati da parte di differenti tipologie di utenti, specialistici e non. Di conseguenza ogni utente può accedere al DBMS, a patto che abbia gli opportuni diritti di lettura ed eventualmente scrittura (cioè modifica) sul database. Negli anni ‘80/90 si assiste all'affermazione della tecnologia dei DBMS relazionali B In un modello relazionale i dati sono memorizzati in tabelle , dette relazioni , composte da un certo numero di colonne, dette attributi , e da un certo numero di righe, dette tuple. Una base di dati relazionale è quindi una collezione di tabelle che rappresentano gli oggetti e le associazioni fra oggetti che caratterizzano la realtà di interesse

I dati che compongono le relazioni di una base di dati ne costituiscono l’istanza. In particolare, si definisce istanza di una relazione r l’insieme delle tuple definite sugli attributi di r. Si definisce istanza di base di dati l’insieme delle istanze di relazione di ciascuna relazione che costituisce la base di dati. Gli attributi di una base di dati possono avere differenti vincoli che possono essere inseriti in fase di progettazione. Questi vincoli obbligano a seguire un determinato criterio di inserimento o forniscono delle regole di inserimento per i valori degli attributi. Alcuni esempi di vincoli sono:  Not null : richiede di inserire un valore per l’attributo sul quale è impostato il vincolo. Ad esempio, nel caso della relazione regista, specificare un vincolo not null sull’attributo cognome significa che non sarà possibile memorizzare una tupla nella relazione qualora essa sia priva di valore sull’attributo cognome.  Default : comporta l’inserimento di un valore predefinito nel caso in cui non sia stato specificato alcun valore per l’attributo in fase di inserimento o modifica. Ad esempio, nel caso della relazione attore, impostare il valore di default “USA” per l’attributo nazione significa che qualora si intenda memorizzare una tupla in questa relazione e qualora essa sia priva di valore sull’attributo nazione, il valore USA sarà inserito come valore dell’attributo per quella tupla.  Unique : richiede di inserire un valore univoco per l’attributo sul quale è impostato il vincolo. Questo significa che non sarà possibile avere due tuple della relazione con il medesimo valore per l’attributo definito unique. As esempio, nel caso della relazione film, specificare un vincolo unique sull’attributo titolo significa che non potranno essere memorizzate due pellicole distinte con il medesimo valore sull’attributo titolo. Un concetto di fondamentale importanza nelle basi di dati relazionali è la nozione di chiave primaria ( primary key ) utilizzata per identificare in modo univoco ogni tupla di una tabella. Una chiave primaria può essere costituita da un singolo attributo oppure può essere composta da più attributi. I DBMS mettono a disposizione i seguenti linguaggi per definire e manipolare una base di dati:  Linguaggio di definizione dei dati o DDL (Data Definition Language), ovvero un linguaggio per la definizione dello schema logico e degli eventuali schemi esterni.  Linguaggio di manipolazione dei dati o DML (Data Manipulation Language), cioè un linguaggio per formulare estrazioni e modifiche sui dati (cioè, inserimenti, cancellazioni, modifiche) della base di dati. Spesso si indica con linguaggio di interrogazione (query language) il sottoinsieme delle istruzioni DML per l’estrazione di dati da una base di dati. Nei DBMS relazionali le funzionalità DDL e DML confluiscono in un unico linguaggio denominato SQL (Structured Query Language),, che è uno standard per i DBMS relazionali. B LibreOffice Base mette a disposizione uno strumento visuale per la formulazione di interrogazioni (anche dette query), denominato query-by-example (QBE). Secondo questa modalità QBE, l’interrogazione viene formulata in modo dichiarativo descrivendo le caratteristiche che le tuple del risultato dovranno possedere.

base di dati e le condizioni di selezione di tali interrogazioni dipendono dallo specifico utente che invoca la visualizzazione della pagina. PHP nasce nel 1994, ad opera di Rasmus Lerdorf, come una sequenza di comandi finalizzati a facilitare il compito dei programmatori nella personalizzazione delle pagine web. Oggi PHP è conosciuto come PHP: Hypertext Preprocessor, ed è un linguaggio di programmazione completo, sofisticato e flessibile. Esso offre la possibilità di interagire con la quasi totalità dei DBMS relazionali oggi disponibili. I Con il termine rete di calcolatori si intendono due o più dispositivi connessi tra loro, i quali sono in grado di scambiare informazioni. La connessione può avvenire attraverso differenti tipi di infrastrutture fisiche, come ad esempio cavi o onde radio. Una rete è di conseguenza rappresentabile da un insieme di punti V (detti nodi), i quali rappresentano i calcolatori, collegati attraverso linee E (detti archi). Di conseguenza una rete G è rappresentabile attraverso una funzione G = (V, E). Il concetto di nodo è variabile in base alla prospettiva dell’osservatore. In una rete domestica, come quella che potreste avere nel vostro appartamento, ogni dispositivo è tipicamente connesso ad un router. In questo caso, il router, oltre alle sue specifiche funzioni di instradamento, ha lo scopo di interconnettere fra loro i vari dispositivi (nodi) della rete domestica, quali ad esempio smartphone, computer portatili e tablet. Se però si considera una rete più ampia, ad esempio quella di un intero condominio, ogni appartamento rappresenta un singolo nodo della rete e quella di ciascun appartamento diventa una sottorete della rete condominiale. La comunicazione tra due o più nodi può avvenire in due modalità: sincrona e asincrona. In una comunicazione sincrona i nodi coinvolti sono connessi nel medesimo momento alla rete e scambiano informazioni (detti pacchetti) tra loro. Un esempio di comunicazione sincrona è la telefonata. Al contrario, una comunicazione asincrona non richiede la connessione alla rete di tutti i nodi nel medesimo momento. Un nodo invia un messaggio sapendo che i destinatari potrebbero non essere connessi e questi ultimi riceveranno il messaggio in seguito, al momento della loro connessione alla rete. Il destinatario di un pacchetto può essere differente a seconda delle esigenze di comunicazione:  Point-to-point (o Unicast ): la trasmissione dei pacchetti è indirizzata a un unico nodo destinatario (per esempio i messaggi di posta elettronica)  Multicast : la trasmissione dei pacchetti è indirizzata a un insieme predefinito di nodi destinatari (per esempio i contenuti streaming delle pay tv)  Broadcast : la trasmissione dei pacchetti è indirizzata a tutti i nodi di una rete e l’insieme dei nodi non è definito a priori (per esempio le trasmissioni dei canali radio FM) è comune definire internet una generica rete di calcolatori ottenuta mediante interconnessione (internetworking) di reti o sottoreti diverse. Il termine internet non deve essere confuso con il termine Internet (con i maiuscola) che indica la ben nota rete GAN mondiale che offre, tra gli altri, i servizi di posta elettronica e WWW (World Wide Web). è comune definire internet una generica rete di calcolatori ottenuta mediante interconnessione (internetworking) di reti o sottoreti diverse. Il termine internet non deve essere confuso con il termine Internet (con i maiuscola) che indica la ben nota rete GAN mondiale che offre, tra gli altri, i servizi di posta elettronica e WWW (World Wide Web). due nodi della rete che devono comunicare necessitano di un mezzo di comunicazione fisico e uno o più protocolli che permettono lo scambio di messaggi. In una rete, i protocolli governano tutti gli aspetti che interessano la comunicazione tra nodi, come ad esempio la

regolamentazione del flusso di informazioni da un nodo all’altro e la gestione delle congestioni di rete. un’organizzazione di riferimento dei livelli e dei protocolli di rete, è stato definito il modello OSI - Open System Interconnection - (comunemente chiamato ISO/OSI, per via del nome dell’ente che lo ha ideato, International Organization for Standardization) che consiste in un'architettura logica disegnata su 7 livelli. possiamo pensare al modello OSI come a un modello “matrioska” dove ogni livello consiste in una bambola di dimensione crescente. La fase di incapsulamento consiste nel racchiudere il messaggio iniziale mediante bambole di dimensione crescente. La fase di estrazione consiste nell’apertura delle bambole fino ad arrivare al messaggio originale contenuto nella più piccola. Tra i nodi di una internet, distinguiamo i calcolatori ( host ) i quali offrono servizi, e gli apparati comunicazione i quali sono costituiti da linee di trasmissione (via cavo o via radio) ed elementi di commutazione ( router ). Un router è un elaboratore dedicato a funzioni di instradamento dei messaggi tra due reti alle quali appartiene contemporaneamente. Alla luce di questa definizione, potrebbe sembrare che router e gateway realizzino il medesimo servizio. Più precisamente, un gateway è resposabile della traduzione di protocollo quando due dispositivi appartenenti a reti diverse devono comunicare e il protocollo utilizzato non coincide. Al contrario, un router è semplicemente un dispositivo che permette l'instradamento e lo scambio di messaggi tra due reti adiacenti. I Per capire le basi di Internet è istruttivo ripercorrere brevemente la storia. Nel 1957, in risposta al lancio dello Sputnik da parte dell'Unione Sovietica, gli Stati Uniti si danno l'obiettivo di stimolare la crescita in ambito scientifico e tecnologico. Nel 1958 costituirono ARPA, una nuova agenzia per lo sviluppo tecnologico in grado di riunire sotto un'unica direzione tutte le attività gestite all'interno del Dipartimento di Difesa. Tra i vari progetti promossi da ARPA, nel 1966 venne dato avvio ad ARPANET con l'obiettivo di sviluppare una rete di calcolatori efficiente che potesse essere utilizzata per aumentare la produttività dei sistemi di calcolo attraverso la condivisione delle risorse. L'idea centrale del progetto era di evitare che i calcolatori fossero connessi per mezzo di un'unica unità centrale di smistamento, poiché questa sarebbe stata inevitabilmente un punto di debolezza dell'intero sistema. Al contrario, disponendo di percorsi alternativi, la trasmissione poteva passare di volta in volta attraverso i percorsi liberi. Inizialmente nel progetto vennero coinvolti quattro centri di calcolo universitari, nel 1969 venne effettuata la prima trasmissione. Nel 1972, fu svolta la prima dimostrazione pubblica del funzionamento della rete ARPANET durante la quale furono connesse quaranta macchine distribuite lungo l'intero territorio degli Stati Uniti. Nel 1982, lo sviluppo dei protocolli TCP e IP gettò le basi per la realizzazione dell’attuale rete Internet. Nel 1984, nel Regno Unito fu sviluppata JANET, una rete in grado di collegare università e organizzazioni scientifiche e militari che venne a sua volta collegata ad ARPANET. Nel corso degli anni ’80 la tendenza a collegare tra loro reti differenti si consolidò e nel 1990 cessò l’esistenza di ARPANET. In parallelo si affermò sempre più Internet, una collezione di reti che comunicavano tra loro adottando i protocolli TCP/IP. In particolare, furono due i fattori decisivi alla crescita esplosiva di Internet. Il primo fu il rapido incremento di personal computer adottati sia da utenti privati che da aziende, un fenomeno che riguardò il mondo intero. I pc divennero sempre meno costosi e sempre più potenti mentre i modem, i dispositivi necessari per collegare i computer alla rete telefonica, migliorarono le loro prestazioni permettendo di condividere sia testo che immagini e suoni. Il secondo fattore chiave fu l’introduzione del World Wide Web che permise agli utenti della rete Internet di ritrovare le informazioni di interesse in modo intuitivo ed immediato sia che fossero composte da testo o da testo e immagini allo stesso tempo. I

 l’introduzione dei browser web, software semplici e intuitivi che con un’interfaccia grafica permettono all’utente di passare da un sito a un altro e visualizzarne le pagine. Mentre il web è un servizio della rete internet, il protocollo di rete a livello applicativo del Web si chiama HTTP. I HTTP è il protocollo mediante il quale un dispositivo client richiede l'accesso e la visualizzazione di una pagina web memorizzata presso un server web. Allo stesso tempo, HTTP è il protocollo mediante il quale il server invia la pagina web richiesta al dispositivo client che visualizzerà la pagina tramite un browser. HTTPS ( HyperText Transfer Protocol Secure ) è un protocollo basato su HTTP dotato di meccanismi di autenticazione del server e cifratura della comunicazione tra dispositivo client e server per prevenire la lettura dei messaggi scambiati da parte di soggetti non autorizzati che potrebbero intercettare la comunicazione in transito sulla rete. Un'importante caratteristica di HTTP è quella di essere un protocollo privo di stato ( stateless ). Questo significa che le connessioni tra dispositivo client e server vengono stabilite e rilasciate (chiuse) per ciascuna richiesta e corrispondente risposta tra i due dispositivi. Una volta fornita la risorsa al client, il server chiude la connessione e non mantiene attivo alcun canale di comunicazione con il dispositivo client. Questa scelta progettuale, ispirata alla semplicità e all'efficienza, favorisce la scalabilità del servizio di navigazione web, in quanto l'indipendenza tra i collegamenti che possono comparire in una pagina, permette di passare da una pagina all'altra e da un server all'altro senza dover gestire procedure di de-allocazione di risorse assegnate presso il server. Questa peculiarità porta però a non poter mantenere in memoria informazioni fornite dall’utente in richieste HTTP precedenti. Per superare questo limite di HTTP, sono stati sviluppati meccanismi di mantenimento delle informazioni di stato dell'utente denominati cookie. URI (Uniform Resource Identifier) è uno standard per rappresentare l'indirizzo univoco e completo di una risorse sulla rete Internet (come ad esempio una pagina web, un documento di testo o un'immagine). Una URI è composta dal nome di dominio del server presso il quale la risorsa è ospitata e dal percorso (path) sul disco del server che permette di raggiungere la risorsa. Una URL (Uniform Resource Locator) è una tipologia di URI che oltre a identificare la risorsa descrive anche il protocollo da utilizzare per reperirla. Il protocollo HTTP offre due meccanismi per consentire a un utente di inviare parametri in un messaggio di richiesta HTTP. Il primo meccanismo è GET e permette di inserire i parametri in coda alla URL della pagina richiesta. Con il metod GET, i parametri sono inseriti nell'intestazione del messaggio di richiesta HTTP. Il secondo meccanismo è POST e permette di inserire i parametri nel corpo del messaggio di richiesta HTTP. Il DNS (Domain Name System) è un servizio di livello Applicativo che permette la conversione di nomi di dominio nei corrispondenti indirizzi IP. Questo servizio è realizzato mediante una base di dati distribuita su numerosi server. Quando si interroga un server DNS per conoscere l'indirizzo IP di un nome di dominio di interesse, il servizio è organizzato in modo gerarchico e i vari server DNS comunicano fra di loro fino a risalire all’indirizzo IP del nome di dominio richiesto.+ Un Autonomous System (AS) accede alla rete Internet tramite un Internet Service Provider (ISP). Esistono differenti tipi di ISP, ad esempio residenziali (come Telecom, Vodafone e Fastweb), aziendali, e dedicati a specifiche attività commerciali o istituzionali (università, aeroporti, etc.). Tramite l’ISP, si definisce la tecnologia di trasferimento dei dati (ADSL,

Fibra Ottica) e la banda massima di trasferimento dati concessa al richiedente in scaricamento - download - e caricamento - upload. Ogni ISP utilizza il protocollo IP e si conforma alle regole e alle convenzioni previste da questo protocollo. Di conseguenza, nel momento in cui un host si collega alla rete Internet, l’ISP fornisce a quest’ultimo un indirizzo IP, generalmente tramite protocollo DHCP (Dynamic Host Configuration Protocol). Con DHCP, l'indirizzo IP sarà assegnato al dispositivo fintanto che tale dispositivo rimane collegato alla rete. Una volta scollegato, l'indirizzo IP può essere assegnato a un altro dispositivo. Questo significa che il medesimo indirizzo IP può essere utilizzato da dispositivi diversi in momenti diversi. Ovviamente, non è possibile che due dispositivi utilizzino il medesimo indirizzo IP contemporaneamente. E' dunque possibile che un dispositivo riceva un diverso indirizzo IP in due diverse sessioni di accesso alla rete. I HTML utilizza dei tag (marcatori) per definire le regole di formattazione che il browser deve poi interpretare per comporre la pagina web. Ad ogni tag di apertura è associato il corrispettivo tag di chiusura usualmente identificato dal simbolo “/”.I tag possono essere innestati o combinati tra loro quando è necessario applicare più stili di formattazione al medesimo testo. A tutto il testo compreso tra il tag di apertura e quello di chiusura il browser applica lo stile di formattazione indicato dal tag. I CSS, ovvero Cascading Style Sheet , sono visti come lo strumento designato per arricchire l’aspetto visuale ed estetico di una pagina web e al tempo stesso separare l’informazione relativa allo stile grafico degli elementi HTML dal ruolo strutturale che tali elementi hanno. E’ possibile infatti applicare il medesimo foglio di stile a diverse pagine di uno stesso sito per ottenere uno stile di impaginazione uniforme senza dover riscrivere il codice della pagina HTML. I siti web statici presentano contenuti di sola ed esclusiva lettura. Solitamente vengono aggiornati con una bassa frequenza ed è necessario un programmatore che modifichi il codice della pagina HTML (più eventuali fogli CSS e script Javascript) e che lo carichi sul server. Un sito statico ha sempre un numero finito di pagine, esattamente quantificabile. A scanso di equivoci bisogna precisare che sito web statico non significa privo di “animazioni” ma ci si riferisce a semplici pagine ipertestuali, contenenti testo e immagini, collegate le une alle altre da pulsanti e link di navigazione. Se l’obiettivo è creare un semplice sito web, senza la necessità di aggiornamenti costanti e non si ha l’esigenza di permettere all’utente finale di interagire con la pagina web allora il sito web statico è la scelta migliore per una serie di motivi:  Tempo di caricamento più rapido e visualizzazione rapida della pagina  Più sicuro, poiché meno vulnerabile agli attacchi di malintenzionati  Meno costoso da ospitare e mantenere  Meno complesso da configurare I siti web dinamici poggiano su un’applicazione scritta in linguaggio server-side (tipicamente PHP o ASP.net) che provvede a generare e pubblicare le pagine del sito al momento della loro richiesta da parte del browser. Questo permette ai siti web dinamici di variare il contenuto della pagina sulla base delle scelte fatte dell’utente, offrendo quindi un elevato livello di interazione. Normalmente, ma non sempre, le informazioni sono estratte da una base di dati che le contiene. Una volta creata la struttura che dinamicamente produce le pagine, i contenuti possono essere inseriti e variati senza conoscere tecniche di programmazione di siti web. È possibile in questo modo aggiungere o rimuovere pagine, immagini e contenuti autonomamente ricorrendo ad un sistema di gestione dei contenuti (CMS: Content Management System)

link spam - Consiste nel migliorare il ranking aumentando il numero di backlink innaturali (link fuori contesto che puntano verso un sito) provenienti da siti di bassa qualità o con penalizzazioni  keyword stuffing - Si tratta di una tattica SEO (Search Engine Optimization) che consiste nel ripetere più volte nel testo una specifica keyword o long tail keyword al fine di favorirne il posizionamento nei risultati di ricerca. Infine, Google Hummingbird è stato progettato per comprendere concetti e relazioni tra keyword in modo simile ad un umano ed è, nel 2013, la prima volta che l’algoritmo viene così pesantemente riscritto. Si tratta di un importante passo avanti verso la realizzazione di un motore di ricerca semantico. La Search Engine Optimization (SEO), ovvero l'ottimizzazione dei motori di ricerca, è il processo che aumenta la qualità e la quantità del traffico web aumentando la visibilità di un sito Web o di una pagina Web agli utenti di un motore di ricerca. Il SEO si riferisce al miglioramento dei risultati non pagati (noti come risultati "naturali" o "organici") ed esclude il traffico/visitatori diretti e l'acquisto di posizionamenti a pagamento. La SEO può indirizzare diversi tipi di ricerche, tra cui ricerca di immagini, ricerca di video, ricerca di articoli scientifici, ricerca di notizie e motori di ricerca verticali specifici di un settore. I Il Web 2.0 è un termine ombrello che raggruppa riferimenti sia sul piano dello sviluppo della tecnologia e degli standard, sia sul piano dello sviluppo dei modelli di business e dell'user experience applicati al Web. In generale il termine indica l'evoluzione delle applicazioni web verso strumenti che facilitano la partecipazione alla costruzione dei contenuti da parte degli utenti. Temporalmente è difficile da situare, si colloca tra la nascita dei primi blog (1994) all'affermarsi di Wikipedia (2001), Youtube (2005) e altri servizi simili. Per descrivere questa evoluzione può essere utile concentrarsi sulle evoluzioni avvenute in specifici contesti. Assistiamo, ad esempio, al passaggio dai siti web personali ai blog ; dai sistemi di content management ai wiki ; dal link come strumento di aggregazione delle risorse tramite riferimento al mash-up come strumento di aggregazione per inclusione e fusione delle risorse. Nel marketing l'affermarsi di questo paradigma comporta il passaggio dall'approccio stickiness , mantenere l'utente legato a sito web, all'approccio syndication , far giungere all'utente solo le informazioni a cui attribuisce valore. La differenza con il Web 1.0 sta nell'approccio con il quale gli utenti si rivolgono al Web, che passa fondamentalmente dalla semplice consultazione (seppure supportata da efficienti strumenti di ricerca, selezione e aggregazione) alla possibilità di contribuire popolando e alimentando il Web con propri contenuti. Le tecnologie che hanno sostenuto questo processo sono rappresentate dai Web Services , le API e i protocolli REST. Per Web Service si intende un software in grado di comunicare con altre componenti connesse in rete tramite lo scambio di dati in un formato standard; tipicamente uno specifico vocabolario XML definito per tale applicazione. Ad esempio gli orari dei treni sono accessibili tramite Web Service consentendo ad un programma che seguisse il protocollo definito dal Web Service di accedere ai dati. Per API si intende un insieme di procedure rese disponibili da un software per accedere alle sue risorse o ai suoi servizi. Queste procedure vengono definite dal fornitore di un servizio, per consentire ad altri programmatori di usufruire del proprio servizio (e quindi di diffonderlo). Ad esempio attraverso le API di Google Maps è possibile configurare la specifica visualizzazione di una mappa e includerla all'interno della propria pagina Web. Per protocolli REST si intendono protocolli di interscambio dei dati che si basano sui soli metodi resi disponibili dal protocollo HTTP. Questo tipo di protocolli descrivono i servizi come risorse web, tipicamente documenti XML o JSON.

Il Web 3.0 consente alle applicazioni e ai siti Web online di ricevere informazioni sul Web, elaborarle semanticamente e di fornire nuove informazioni agli utenti.Il Web semantico insieme all'intelligenza artificiale sono i due cardini del web 3.0. Il Web semantico insegnerà al computer cosa significano i dati e questo potrà evolversi in intelligenza artificiale in grado di utilizzare tali informazioni. L'idea principale è quella di creare una ragnatela di conoscenza su Internet che possa aiutare a comprendere il significato delle parole per generare, condividere e collegare i contenuti attraverso la ricerca e l'analisi. Grazie ai dati strutturati , il Web 3.0 contribuirà a una maggiore connettività tra i dati. Di conseguenza, l'esperienza dell'utente si evolve in un ulteriore livello di connettività che sfrutta tutte le informazioni disponibili. Sebbene la comunità di Internet non sia unanime riguardo al modo migliore per contrassegnare i dati strutturati, in ogni caso, sono necessari due elementi:  vocabolario , ovvero un insieme di parole che rappresentano coppie significato- rappresentazione;  grammatica , ovvero un insieme di regole che dicono come usare il vocabolario per trasmettere il significato. Google, Microsoft, Yahoo e Yandex nel 2011 hanno pensato bene di creare un enorme vocabolario chiamato schema.org. Nel sito ufficiale sono rappresentati tutti gli schemas (tipi di dato) che vengono riconosciuti dai motori di ricerca e questo vocabolario è quello utilizzato dalla maggior parte dei dati strutturati. Per quanto riguarda la grammatica, non c'è una risposta breve. Tre sono gli attori principali: RDFa (Resource Description Framework in Attributes), JSON-LD (JSON for Linking Data) e Microdata. RDFa e Microdata sono concettualmente molto simili. Entrambi consentono di riutilizzare i dati HTML visibili. In particolare, RDFa è una estensione di HTML5 che supporta i dati strutturati introducendo attributi di tag HTML che corrispondono al contenuto visibile all'utente che si vuole descrivere per i motori di ricerca. RDFa è comunemente usato in entrambe le sezioni intestazione e corpo della pagina HTML. JSON- LD , al contrario, duplica i dati per utenti e motori di ricerca inserendoli in o di una pagina come