CMCC - Introduzione alle Tecnologie Web

© 2014 - ALCA Società Cooperativa

Introduzione alle Tecnologie Web

Scopo e Obiettivi del corso

Dalla prima pagina Web

...

... ai primi portali Web

... alle WebApp

... alle WebApp Mobile

... ad Engine 3D veri e propri

Ambiente di esercitazione

L'ambiente di esercitazione del corso sarà composto da:

Ambiente di esercitazione

L'ambiente di esercitazione del corso sarà composto da:

Ambiente di esercitazione

L'ambiente di esercitazione del corso sarà composto da:

Web Developer Tools

Web Developer Tools

Per attivare/disattivare i developer tool:

Firefox Developer Tools

Chrome Developer Tools

Download Brackets

http://brackets.io

Brackets - File Menu & Live Preview

Brackets - Live Preview

Brackets - Live Preview

Testo, Ipertesto e Web

Testo

Il Testo, ad esempio nella comune forma di Libro, costituisce una sequenza di paragrafi / pagine / capitoli pensati e organizzati in modo da consentirne un agevole consultazione SEQUENZIALE:

Hypertext

L' Ipertesto al contrario prevede un modello di organizzazione e consultazione di tipo NON SEQUENZIALE, in cui le informazioni sono collegate fra loro nei modi più svariati

Hypertext e Grafi

Hypertext e Grafi

Modello Semplificato:

Modello Reale:

Ogni collegamento ipertestuale, ciò che consente il passaggio da un nodo ad un altro in un documento ipertestuale, è detto Link (o Hyperlink).

Anchor

La destinazione di un collegamento ipertestuale (Link) può essere una intera pagina, ma anche una specifica posizione interna alla stessa pagina o ad una pagina diverse.

Questo IDENTIFICATIVO interno ad una pagina è detto Ancora (Anchor)

Collegamento ad ancora

Page

Il concetto di pagina in un documento ipertestuale può essere molto diverso da quello di pagina di un documento di testo ordinario.

Ad esempio all'interno di una pagina di un documento ipertestuale potrebbero essere contenuti tutti i capitoli di un libro, o tutte le pagine di un capitolo etc.

Collegamento a risorsa esterna

Collegamenti assoluti e relativi

I collegamenti possono essere espressi in modo assoluto o relativo rispetto alla pagine corrente.

Collegamenti relativi

Collegamenti relativi

Un collegamento viene detto Relativo quando viene espresso indicando come raggiungere la destinazione a partire dal percorso corrente

Collegamenti assoluti (a file)

Collegamenti assoluti (a server web)

Collegamenti assoluti

Un collegamento assoluto definisce completamente il percorso di destinazione, e dovrebbe essere utilizzato esclusivamente per destinazioni esterne

Collegamenti assoluti e Protocolli

Nei collegamenti assoluti viene spesso specificato il PROTOCOLLO, HTTP se omesso.

Web Server e Web Client

Web Server e Web Client

DevTools: Web Console

DevTools: Web Console

Network Request Detail

DevTools: Network Inspector

DevTools: Network Inspector

Request Detail

Chrome Developer Tools

Web Console

Chrome Developer Tools

Network Inspector

Chrome Developer Tools

Network Inspector Request Details

HTTP Basics

Per poter interpretare correttamente le informazioni relative al networking ed identificare gli errori, è necessario introdurre alcuni concetti base sui protocolli di rete in gioco:

HTTP Basics

HTTP Basics:

HTTP Basics:

http://www.site.com:80/path/name?param=value&other=true

HTTP Basics

HTTP Basics

$ host learn.alcacoop.it
learn.alcacoop.it is an alias for callisto.alcacoop.it.
callisto.alcacoop.it has address 173.45.234.79

HTTP Basics

http://learn.alcacoop.it/index.html

HTTP Basics

HTTP Basics

GET /index.html HTTP/1.1

HTTP Basics

GET /index.html HTTP/1.1

HTTP Basics: simulazione via Telnet

$ telnet 173.45.234.79 80
Trying 173.45.234.79...
Connected to 173.45.234.79.
Escape character is '^]'.

HTTP Basics: richiesta via Telnet

GET /index.html HTTP/1.1
Host: learn.alcacoop.it
Connection: close

HTTP Basics: risposta via Telnet

HTTP/1.1 200 OK
Date: Thu, 16 Jan 2014 19:26:36 GMT
Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5

HTTP Basics: risposta via Telnet

Last-Modified: Mon, 28 Oct 2013 11:50:40 GMT
ETag: "448c3-1a3a-4e9cbb5870400"
Accept-Ranges: bytes
Content-Length: 6714
Connection: close
Content-Type: text/html

<!DOCTYPE html ...
...
Connection closed by foreign host.

HTTP Basics: Verbs

HTTP Basics: Status Code

HTTP Basics: Status Code

HTTP Basics: gestione delle sessioni

Per mantenere lo stato tra una richiesta e le successive, si utilizzano i Cookies:

Firefox Network DevTool Panel

HTTP Status Code e Colori

Status code sconosciuto (richiesta in attesa o nessuna risposta)
1xx Messaggi informativi
2xx Richiesta servita con successo
3xx Redirezioni
4xx Errori Client
5xx Errori Server