• Non ci sono risultati.

Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria

N/A
N/A
Protected

Academic year: 2021

Condividi "Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria"

Copied!
41
0
0

Testo completo

(1)

RETI DI CALCOLATORI

Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria

Università degli Studi di Udine

(2)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

(3)

Lezione 27

Le tecnologie alla base

del World Wide Web

(4)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 4

Lezione 27: indice degli argomenti

• Il protocollo HTTP

• Il linguaggio HTML

• La realizzazione di servizi interattivi:

• Common Gateway Interface (CGI)

• cenni sui linguaggi Java e Javascript

• PHP

• informazioni di stato: i cookies

(5)

Il protocollo HTTP

(6)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 6

HTTP

HyperText Transfer Protocol

• Risponde alla porta 80

• Protocollo ASCII

(7)

Comandi di HTTP

richiede la lettura di una pagina Web GET

richiede la lettura di un’intestazione di una pagina Web

HEAD

richiede di memorizzare una pagina Web PUT

aggiunge un contributo alla risorsa specificata POST

cancella una pagina Web DELETE

(8)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 8

Esempio di funzionamento di HTTP

(9)

HTTP

• Applicazione: telnet

• può essere necessario abilitare l’eco locale dei caratteri

• NOTA: non funzionerà il tasto di backspace

• Nodo: allegro.diegm.uniud.it

• Porta 80

• Comando:

• GET /index.html

(10)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 10

Il linguaggio HTML

(11)

Ipertesto

parola calda (hot word)

collegamento ipertestuale

(link)

àncora

(anchor)

(12)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 12

Ipertesto distribuito

RETE

cli ck !

(13)

URL: Uniform Resource Locator

http://www.uniud.it/~montessoro/index.html#music protocollo

nome del server identificatore della risorsa locale (es. file)

àncora nome del file

percorso (path)

(14)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 14

Esempi

(15)

Common Gateway Interface (CGI)

(16)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 16

Common Gateway Interface (CGI)

FORM HTML

programma CGI

Web Server

dati inseriti

dall’utente

output del

programma

(17)

Dati inseriti dall’utente

• Vengono codificati nel formato:

• nomevariabile=valore&nomevariabile=...

• Inoltre:

• gli spazi bianchi vengono trasformati in ‘+’

• i caratteri non alfanumerici vengono trasformati in %XX dove XX è la

rappresentazione esadecimale del codice

ASCII

(18)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 18

Esempi

(19)

Java e Javascript

(20)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 20

Java

• Linguaggio orientato agli oggetti simile a C++

• L’architettura del software di sviluppo e di supporto al run-time è stata pensata per massimizzare la portabilità dei

programmi

(21)

Java

compilatore

bytecode sorgente Java

interprete del bytecode sistema operativo dell’host

hardware

Java

virtual

machine

(22)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 22

Esempio: hello.java

(23)

hello.java

//A Very Simple Example class hello

{

public static void main(String[] args) {

System.out.println("Hello, world");

}

}

(24)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 24

Java e Web

compilatore

applet bytecode sorgente Java

di un applet

pagina HTML

server

Web browser con interprete del bytecode

sistema operativo

dell’host con software di rete hardware

client

(25)

Esempi: applet.html, TicTacToe.html

(26)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 26

Applet Java

import java.applet.Applet;

import java.awt.Graphics;

import java.awt.Color;

public class applet extends Applet{

String text = "I'm a simple applet. Hello!";

public void init() {

text = "I'm a simple applet";

setBackground(Color.cyan);

}

public void start() {

System.out.println("starting...");

}

public void stop() {

System.out.println("stopping...");

}

public void destroy() {

System.out.println("preparing to unload...");

}

public void paint(Graphics g){

System.out.println("Paint");

g.setColor(Color.blue);

g.drawRect(0, 0,

getSize().width -1, getSize().height -1);

g.setColor(Color.red);

g.drawString(text, 15, 25);

} }

(27)

Applet Java: HTML

<HTML>

<BODY>

<APPLET CODE=applet.class WIDTH=200 HEIGHT=100>

</APPLET>

</BODY>

</HTML>

(28)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 28

Javascript

• Linguaggio interpretato a livello sorgente (no bytecode)

• Le funzioni Javascript sono incluse nel

file HTML

(29)

PHP (PHP Hypertext Preprocessor)

(30)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 30

pagina HTML

file HTML (x.html)

Web Server

PHP (PHP Hypertext Preprocessor)

URL: .../x.html

HTML

(31)

file PHP (x.php)

Web Server

PHP (PHP Hypertext Preprocessor)

URL: .../x.php

PHP

preprocessor HTML

+ PHP

PHP output HTML

dinamico

pagina HTML

(32)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 32

Esempio: HELLO.PHP

<html>

<head>

<title>PHP Test</title>

</head>

<body>

<?php echo "Hello World<p>"; ?>

</body>

</html>

(33)

form HTML

file PHP (x.php)

Web Server

PHP e form HTML

...

<FORM action="x.php"

METHOD="POST">

...

PHP

preprocessor script

PHP + dati utente PHP

output HTML

dinamico

(34)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 34

Dati inseriti dall’utente

• Sono direttamente accessibili mediante le funzioni di libreria PHP

• Non è necessario decodificare la stringa

generata dal browser

(35)

Informazioni di stato

(36)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 36

Cookies

Web browser

programma CGI

Web

Server

(37)

Cookies

Web browser

programma CGI

Web

Server

(38)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 38

Cookies

Web browser

Web

Server

(39)

Cookies

Web browser

programma CGI

Web

Server

(40)

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 40

Bibliografia

• “Reti di Computer”

• Capitolo 7

(41)

Come contattare il prof. Montessoro

E-mail: [email protected] Telefono: 0432 558286

Fax: 0432 558251

URL: www.montessoro.it

Riferimenti

Documenti correlati

© 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni

© 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni

• Il dominio della Rete unitaria è quella parte della Rete che consente alle reti delle diverse amministrazioni di. interoperare (dorsale

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni

© 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.. Nota