26
e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italy [email protected] - www.e-xtrategy.net Lorenzo Massacci l.massacci@e- xtrategy.net Linguaggi di Programmazione per il Web Come funziona la navigazione web

Come funziona la navigazione Web

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Linguaggi di Programmazioneper il Web

Come funziona la navigazione web

Page 2: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Come funziona la navigazione web

Si basa sull’architettura

Client/Server

Page 3: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

User Agent

E’ il software client in grado di fare richieste via internet (e quindi di navigare sul web)

Può essere un Browser ma non solo: Crawler, telefoni cellulari, lettori di schermo, Aggregatori RSS, client di webServices

Page 4: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Web Browser (navigatore)

è un programma in grado di interpretare il codice HTML (e più recentemente XHTML) e visualizzarlo in forma di ipertesto

Mozilla Firefox

Internet Explorer

Opera

Ecc…

Page 5: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Web Browser (navigatore)

La funzione principale del browser consiste nel richiedere, mediante un URL, un file HTML al server, e, una volta ricevuto il file, visualizzarlo, interpretando i tag HTML.

Normalmente la pagina da visualizzare conterrà anche immagini GIF e JPEG.Il browser richiede anche queste immagini al server e le

visualizza.

Page 6: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

WebServer

I server web (anche detti server HTTP) sono programmi che consentono di distribuire su Internet pagine HTML.

I server web accettano richieste dai browser e ritornano i documenti HTML appropriati.

Esistono oggi sul mercato circa 30 server HTTP per le diverse piattaforme. Il più diffuso e popolare è Apache.

Page 7: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Apache

Apache è un server HTTP opensource.

La prima versione, è stata sviluppata nel 1995.

Apache è diventato il server web più popolare al mondo per le sue caratteristiche sofisticate, le eccellenti performance e il fatto che è gratuito.

Circa il 60% dei server web nel mondo sono server Apache.

Page 8: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Microsoft Internet Information Server

Microsoft Internet Information Server (IIS) è un server HTTP che gira solo su piattaforma Windows, anzi fa parte del sistema operativo stesso, di cui è l’estensione per Internet.

Si tratta di un web server strettamente integrato con il sistema operativo e quindi facile da amministrare.

Rispetto ad altri web server ha lo svantaggio di girare solo su una piattaforma, ma ha comunque circa il 23% del mercato.

Page 9: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Un URL (Uniform Resource Locator) è una stringa di testo che contiene tutte le informazioni necessarie per specificare la locazione di un file, di una directory o di un’altra risorsa ovunque su Internet.

La forma generale dell’URL è la seguente

protocollo://server[:porta]/[path/][file]

Per esempio l’URL

http://www.microsoft.com:80/jobs/consult.htm

chiede di utilizzare il protocollo HTTP per reperire sul server web il cui nome è www.microsoft.com e che risponde alla porta 80 il file consult.htm che sta nella directory jobs.

URL

Page 10: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Il DNS (Domain Name System) è il sistema con cui I nomi di Dominio (www.google.it) vengono tradotti in indirizzi IP (193.207.7.240) più semplici e veloci da gestire per un computer

I name server sono distribuiti in tutto il mondo e sono organizzati in modo gerarchico. Nessun name server ha la mappa di tutti gli host di Internet. Ci sono, in prima approssimazione, tre tipi di name server:

•local namer server (name server locale)

•root name server (name server radice)

•authoritative name server (name server autorevole)

DNS Server

Page 11: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Il Protocollo HTTPTutte le comunicazioni tra client e server web avvengono mediate il protocollo HTTP (HyperText Transfer Protocol), che è un insieme di regole per richiedere e fornire risorse Internet.

Il protocollo HTTP definisce un metodo di interazione client-server ottimizzato per le connessioni brevi e veloci necessarie per le connessione tra client web e server web. Si tratta di un protocollo generico, stateless e leggero.

Generico, significa facilmente estensibile per comprendere servizi di vario tipo, non solo transazione ipertestuali.

Stateless significa che, tra una connessione e l’altra, il server non tiene nota della connessione precedente, e quindi tutte le connessioni sono trattate alla stessa maniera, come se si trattasse ogni volta di un nuovo client.

Leggero, significa che il client si connette al server solo per il tempo strettamente necessario per trasmettere la risorsa, e quindi chiude la connessione.

Page 12: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Il Protocollo HTTP esempio di richiestaSe un browser vuole ricevere il file specificato dall’URL

http://www.domino.com/directory/pagina.html

Farà questa richiesta:

GET /directory/pagina.html HTTP/1.1Connection: User-Agent: Mozilla/5.0 Accept: text/html, image/jpeg, image/pngAccept-Encoding: x-gzip, x-deflate, gzipAccept-Charset: iso-8859-1, utf-8; Accept-Language: en Host: www.domino.com(linea vuota)

Page 13: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Il Protocollo HTTP esempio di rispostaLa rispostà sarà:

HTTP/1.0 200 OKDate: Mon, 28 Jun 2004 10:47:31 GMTServer: Apache/1.3.29 (Unix) PHP/4.3.4X-Powered-By: PHP/4.3.4Vary: Accept-Encoding,CookieCache-Control: must-revalidate Content-Language: itContent-Type: text/html; charset=utf-8Connection: close

Page 14: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Il Protocollo HTTP codici di statoLa risposta sarà:

200: OK, la richiesta è stata processata e i dati vengono spediti

204: No Content, la richiesta è stata processata ma non ha avuto risposta

301: Moved Permanently: il file specificato è stato permanentemente spostato in un’altra locazione

403: Forbidden: il client non è autorizzato a ricevere i dati richiesti

404: Not Found: i dati specificati nell’URL non sono stati trovati

500 Internal Server Error: il server è incorso in un errore inaspettato che non ha permesso di completare la richiesta

Page 15: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Pagina WebNella maggior parte dei casi la pagina web è il risultato di una transazione HTTP (ma non sempre)

Una pagina web non è altro che un file di testo che contiente al suo interno codice XHTML

Da sola è definita statica perchè il suo contenuto non può variare nel tempo

Grazie all’utilizzo di linguaggi di script (lato client e lato server) può diventare dinamica (e cioè cambiare il suo contenuto in base a determinati fattori esterni)

Page 16: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Pagina Web – Script lato clientUno script lato client è una porzione di codice (scritto in un particolare linguaggio di programmazione) che viene inserito all’interno delle pagine web e viene poi interpretato direttamente dal Browser.Un esempio di linguaggio di programmazione lato client è JavaScript

<script type= "text/javascript">alert(“questa è una prova”);</script>

Page 17: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Pagina Web – Script lato serverUno script lato server è una porzione di codice (scritto in un altro linguaggio di programmazione) che viene inserito all’interno delle pagine web ma che viene interpretato dal WebServer prima di inviare la pagina web al Browser.

Alcuni esempi di linguaggio di programmazione lato server sono: PHP, ASP, Coldfusion, JSP

Page 18: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Siti UtiliMauro Boscarol - La tecnologia di Internet

http://www.boscarol.com/pages/internet/index.html

HTTP - Wikipedia

http://it.wikipedia.org/wiki/HTTP

Il Protocollo HTTP

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-9900/http/index.htm

Page 19: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

EasyPHP

EasyPHP è un pacchetto software per windows che vi permette in modo semplice di installare un server web (apache) con supporto PHP sul vostro pc

http://www.easyphp.org

Page 20: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

EasyPHP

Page 21: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

EasyPHPUna volta installato EasyPHP (e avviato) il vostro pc diventa un web server e risponde alle chiamate verso:

http://localhosthttp://127.0.0.1

Attenzione alla diferenza nel navigare una pagina php come:C:\wwwroot\index.php invece chehttp://127.0.0.1/index.php

Page 22: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

EasyPHPConfigurazione di APACHE

File di testo httpd.conf

Esempio:

DocumentRoot "${path}/www"

Page 23: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

EasyPHPConfigurazione di PHP

File di testo php.ini

Esempio:

display_errors = On

Page 24: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

PSPADEditor testuale PHP,XHTML,JAVASCRIPT,CSSGrauito

http://www.pspad.com/it/

Page 25: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

SciTEEditor testuale PHP,XHTML,JAVASCRIPT,CSSGratuito

http://www.scintilla.org/SciTE.html

Page 26: Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) [email protected] - www.e-xtrategy.net

Lorenzo Massacci

[email protected]

Grazie per l’attenzione.

Lorenzo Massacci

[email protected]