Come funziona la navigazione Web

Post on 13-Dec-2014

4.707 views 1 download

description

 

Transcript of Come funziona la navigazione Web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

Linguaggi di Programmazioneper il Web

Come funziona la navigazione web

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

Come funziona la navigazione web

Si basa sull’architettura

Client/Server

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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…

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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.

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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.

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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.

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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.

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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.

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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)

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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)

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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>

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

EasyPHP

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

EasyPHPConfigurazione di APACHE

File di testo httpd.conf

Esempio:

DocumentRoot "${path}/www"

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

EasyPHPConfigurazione di PHP

File di testo php.ini

Esempio:

display_errors = On

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

PSPADEditor testuale PHP,XHTML,JAVASCRIPT,CSSGrauito

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

SciTEEditor testuale PHP,XHTML,JAVASCRIPT,CSSGratuito

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

e-xtrategy - Via G. Salvemini, 1 60035 JESI (AN) Italyinfo@e-xtrategy.net - www.e-xtrategy.net

Lorenzo Massacci

l.massacci@e-xtrategy.net

Grazie per l’attenzione.

Lorenzo Massacci

l.massacci@e-xtrategy.net