Internet, Browser e HTML Interazione
Transcript
Internet, Browser e HTML Interazione
1 2 I protocolli definiscono le regole e il modo per trasferire le informazioni. Internet, Browser e HTML • La trasmissione prevede l’utilizzo di una pila di protocolli, tale che: • I protocolli a basso livello si occupano della trasmissione fisica dei dati • quelli ad alto livello sono direttamente interfacciati ai programmi software applicativi, che forniscono servizi agli utenti 3 Internet • Internet è una infrastruttura che collega tra loro un grandissimo numero di reti di calcolatori utilizzando il “protocollo TCP/IP” 4 HyperText Transfer Protocol • Uno dei protocolli di alto livello è l’HyperText Transfer Protocol (HTTP), che consente l’accesso a risorse distribuite su diversi host (computer) sulla rete con un approccio di tipo ipertestuale • Appoggiandosi a questo protocollo vengono inviate informazioni codificate secondo altri protocolli, stabiliti dalle applicazioni utilizzate dagli utenti per generare le informazioni 5 • I documenti ipertestuali sono codificati secondo le specifiche dettate dallo standard HTML: HyperText Markup Language 6 Interazione Modalità di interazione • L’ interazione fra due o più macchine può avvenire con due modalità: • client/server (email, Web, ...) • peer-to-peer (Napster, WinMX...) • client/server (organizzazione gerarchica) • Una macchina (client) ha bisogno di un servizio • Un'altra macchina (server) fornisce quel servizio • Il client deve contattare il server e chiedergli il servizio desiderato 1 7 Interazione • peer-to-peer (organizzazione paritetica) • Non c'è un client (che fa le richieste) e un server (che le soddisfa)... • ...ma un insieme di macchine che si scambiano informazioni da pari a pari 9 World Wide Web • Gli host si collegano ai server usando un programma client detto browser (colui che curiosa) • Netscape, Internet Explorer, Mozilla, Opera, Safari, Lynx • Il browser permette la consultazione interattiva di documenti ipertestuali e multimediali con modalità point-and-click 11 Identificazione delle risorse 8 World Wide Web • WWW (confidenzialmente web - ragnatela) è la rete costituita dai server che forniscono accesso alle loro informazioni tramite il protocollo http • Che cos’è • parte di internet • vasta collezione di informazioni distribuita • rete client-server distribuita 10 World Wide Web • Le informazioni sono raggruppate in siti, a loro volta divisi in pagine • Le pagine contengono informazioni di diverso • formato (testo, suoni, immagini, filmati, software) • contenuto (scientifico, ludico, commerciale, ...) • o forniscono servizi di • prenotazioni, iscrizione a eventi, ... • accesso a biblioteche e basi di dati, ... • compravendita, consulenza finanziaria, ... 12 Identificazione delle risorse protocollo://server:porta/pathname • Le risorse disponibili sulla rete (i documenti sui server) devono essere identificabili in modo univoco • I browser identificano le risorse tramite indirizzi detti URL (Uniform Resource Locator) • Un indirizzo URL ha la forma protocollo://server:porta/pathname • protocollo • indica il tipo di protocollo utilizzato • server • rappresenta l’indirizzo IP (numerico o simbolico) del computer a cui si vuole accedere • porta • identifica la porta a cui il protocollo fa riferimento • pathname • indica il percorso completo del file cercato 2 13 14 Identificazione delle risorse • Alcune informazioni possono essere omesse (il server e/o il client sceglierà implicitamente dei valori predefiniti, detti di default) • il protocollo (per default http) • la porta (per default 80, quella associata a http) • il nome del file (per default index.html, home.html o altri) ma non il suo percorso 15 • In altre parole i seguenti URL sono equivalenti http://laren.dsi.unimi.it:80/index.html http://laren.dsi.unimi.it/index.html http://laren.dsi.unimi.it:80 laren.dsi.unimi.it:80/index.html http://laren.dsi.unimi.it http://159.159.151.81 16 Protocolli più comuni Protocolli più comuni Protocollo tipo descrizione Protocollo tipo file:// file locale file:///c:/doc/index.html apre un file locale dal tuo PC file:// file locale file:///c:/doc/index.html apre un file locale dal tuo PC ftp:// File Transfer Protocol ftp://ftp.unimi.it/ apre una sessione di trasferimento file tra il tuo PC e un server remoto ftp:// File Transfer Protocol ftp://ftp.unimi.it/ apre una sessione di trasferimento file tra il tuo PC e un server remoto mailto: SMTP Protocol mailto:[email protected] Permette di inviare un’ e-mail, se configurato) mailto: SMTP Protocol mailto:[email protected] Permette di inviare un’ e-mail, se configurato) http:// HyperText http://homes.dsi.unimi.it/~lan zarot Transfer Protocol trasferimento di documenti scritti in HTML e JAVA. (Protocollo principale del WWW). http:// HyperText http://homes.dsi.unimi.it/~lan zarot Transfer Protocol 17 esempio Identificazione delle risorse 18 Protocolli più comuni esempio esempio descrizione trasferimento di documenti scritti in HTML e JAVA. (Protocollo principale del WWW). Protocolli più comuni Protocollo tipo descrizione Protocollo tipo file:// file locale file:///c:/doc/index.html apre un file locale dal tuo PC file:// file locale file:///c:/doc/index.html esempio descrizione apre un file locale dal tuo PC ftp:// File Transfer Protocol ftp://ftp.unimi.it/ apre una sessione di trasferimento file tra il tuo PC e un server remoto ftp:// File Transfer Protocol ftp://ftp.unimi.it/ apre una sessione di trasferimento file tra il tuo PC e un server remoto mailto: SMTP Protocol mailto:[email protected] Permette di inviare un’ e-mail, se configurato) mailto: SMTP Protocol mailto:[email protected] Permette di inviare un’ e-mail, se configurato) http:// HyperText http://homes.dsi.unimi.it/~lan zarot Transfer Protocol trasferimento di documenti scritti in HTML e JAVA. (Protocollo principale del WWW). http:// HyperText http://homes.dsi.unimi.it/~lan zarot Transfer Protocol trasferimento di documenti scritti in HTML e JAVA. (Protocollo principale del WWW). 3 19 • in genere assumono la forma • domini comuni 21 20 Nomi host Connessione diretta ad Internet servizio/ macchina www ftp luogo dominio google dsi.unimi com it homes dsi.unimi it • Per visitare un sito web con un browser, si dominio it descrizione siti siti italiani com org commerciali associazioni, organizzazioni, etc net rete Il successo del web • Immediatezza di accesso alle informazioni • i protocolli come FTP prevedono che le fasi di scaricamento (download) e consultazione siano separate • Tramite il web è invece possibile consultare i documenti on-line • il trasferimento dei documenti viene effettuato automaticamente e in modo trasparente all’utente 23 Il successo del web • Permette all’utente di scegliere l’ordine di consultazione del materiale disponibile • Svincola l’associazione logica da quella fisica: su una stessa pagina possono esserci dei rimandi (link) o delle componenti che risiedono su server distanti migliaia di chilometri • E’ facile da usare, basandosi su interfacce grafiche con interazione point-and-click deve specificarne l’indirizzo (esplicitamente o selezionando un link) • Il client invia la richiesta di connessione, formulata nel modo specificato da http • Ricevuta la richiesta, il server web trasmette le informazioni al computer e il browser provvede a visualizzarle 22 Il successo del web • Consente di accedere in modo uniforme a informazioni di natura eterogenea • Es: immagini, testo, animazioni, suoni, filmati, componenti multimediali • Con l’introduzione di componenti attive (form, applet, javascript, php, ...) è anche possibile utilizzare i browser per trasmettere informazioni dal client al server 24 Il successo del web • E’ indipendente dall’ambiente di lavoro: la stessa informazione può essere visualizzata • • • su differenti tipi di computer usando differenti sistemi operativi utilizzando diversi browser • una stessa pagina può però apparire in modo diverso a seconda della configurazione usata (caratteri piccoli, grandi, …) 4 25 Ipertesto • Un ipertesto è un testo che può essere letto sequenzialmente oppure seguendo i rimandi (link) associati alle sue diverse parti 26 • In ogni punto del documento può comparire un collegamento (link) • • • Il lettore può scegliere il percorso di lettura che preferisce, assecondando liberamente i suoi interessi 27 Esempio di documento ipertestuale Ipertesto • link ad un’altra parte del documento, hyperlink ad un altro documento visualizzato dai browser in modo diverso (in genere sottolineato e cambia al passaggio del mouse) la selezione (point-and-click) viene interpretata dal browser come una richiesta di visualizzare il documento specificato 28 Multimedialità • Indica l’insieme delle tecnologie finalizzate alla gestione integrata di informazioni basate su media differenti • • • • • 29 Esempio di documento ipertestuale multimediale testo singole immagini immagini in movimento (animazioni, filmati) suoni programmi 30 HTML • HyperText Markup Language • permette la creazione di documenti multimediali ipertestuali • è il linguaggio per la creazione di pagine web • non è l’unico: PHP, JavaScript, … ciascuno ha il suo specifico settore di pertinenza. • HTML è il linguaggio base per definire la struttura logica della pagina • In formato ASCII ÆE’ universale • può essere visualizzato da tipi differenti di computer e da tipi diversi di browser 5 31 HTML • È un sistema di marcatura/formattazione del testo • filosofia alternativa al WYSIWYG (what you see is what you get = ciò che vedi è ciò che ottieni ) tipica di Microsoft word • Si basa su un’organizzazione gerarchica • Permette • formattazione del testo/pagina • rimandi (link) ad altre risorse disponibili sul WWW • inclusione di altri oggetti (immagini, suoni, etc) • (definizione di maschere di inserimento dati) 33 Tag 32 TAG • I documenti HTML, oltre ai contenuti, comprendono dei Comandi (TAG) che specificano come i contenuti vanno formattati e visualizzati • TAG: porzioni di testo delimitate dai simboli “<“ e “>”. • Alcuni comandi di formattazione richiedono di introdurre i tag di inizio e fine marcatura (start e end tag) • Esempio: <title> e </title> (inizio/Fine titolo) • altri invece richiedono un singolo tag • Esempio: <hr> (inserimento di una linea orizzontale) 34 Browser • Molti tag hanno attributi speciali che • Interpreta i TAG di HTML • Il valore dell’attributo deve essergli assegnato: • Esempio: <hr size=“n” width=“m” align=“x”> • Formatta e visualizza i contenuti del permettono una scelta tra alcune opzioni documento nel modo specificato nei TAG • NOTA: i valori vanno racchiusi tra virgolette • L’uso di spazi, tabulazioni, maiuscole e • Include oggetti complessi come immagini, suoni, animazioni minuscole ha il solo scopo di migliorare la leggibilità del codice 35 Struttura di un documento <html> <head> <title> Titolo della pagina </title> Altre informazioni generali sulla pagina </head> 36 Esempio 1: Intestazione <html> <head> <title>My first HTML document</title> </head> <body> Contenuto della pagina </body> </html> <body> </body> </html> 6 37 Attributi • Gli “start tag” possono avere degli “attributi” • Gli attributi specificano meglio come i diversi elementi devono essere visualizzati: • Es: <body bgcolor="red"> • dice che il background di tutto il body deve essere rosso. • Sintassi: nome_attributo="valore_attributo". 39 Esempio 3: sezioni (fino a 6 livelli) 38 Esempio 2: paragrafo <html> <head> <title>Esempio di Paragrafo</title> </head> <body> <p>Primo Paragrafo.</p> </body> </html> 40 <html> <head><title>Esempio per gli elementi h1 ... h6</title> </head> Esempio 4: Line Breaks <html> <head> <title>Indirizzo</title> </head> <body> <h1>Primo capitolo</h1> <p>Questo costituisce il primo capitolo.</p> <body> <p> Mario Rossi<br> <h2>Prima sezione del primo capitolo</h2> <p>Questa costituisce essere una sezione.</p> Via Mazzini, 21<br> <h3>Prima sottosezione della prima sezione</h3> <p>Questa costituisce una sottosezione.</p> 20135 Milano<br> <h1>Secondo capitolo</h1> <p>Questo costituisce il secondo capitolo.</p> Italia </p> </body> </html> </body> </html> 41 Esempio 5: Preformatted text Tag per formattare • Titoli: <h1> </h1>, ..., <h6> </h6> <pre> • Paragrafi: <p [align=“left|center|right”]>...</p> Scrivo il testo • Fine riga: <br> come mi pare: vado a capo e lascio gli </pre> 42 spazi che voglio • Linea: <hr[size=“n”][width=“m”] [align=“left|center|right”]> • Testo a spaziatura fissa preformattato: <pre>...</pre> • Allineamento: • <div align = • <center> ... “left|right|justify|center” > </div> </center> 7 43 NOTA: Entity 44 Tag per i caratteri • Tipo caratteri: • Rappresentano in modo universale e indipendente dalla piattaforma i caratteri non coperti dalla codifica ASCII • lettere accentate (è = è) • • lettere appartenenti ad altri alfabeti (ç = ç) simboli matematici (← = →) • A ogni simbolo è associato un nome scrivibile in caratteri ASCII, delimitato da & e ; 45 Commenti • È utile inserire commenti al codice per facilitarne la comprensione al momento di una rilettura o di una modifica <font size=n color=#rrggbb face=“tipo_font"></font> • Stile del testo • Grassetto: <b> </b> • Corsivo: <i> </i> • A spaziatura fissa: <tt> </tt> • Enfatizzato: <em> </em> • Sottolineato: <u> </u> • Apici: <sup> </sup> • Pedici: <sub> </sub> • Intermittente: <blink> </blink> • Ingrandimento della dim. del carattere: <big> </big> • E riduzione: <small> </small> 46 Esempio <html> <head> <title> Pagina vuota </title> </head> <body bgcolor=#000000 text=#FFFFFF link=#FFFFFF> • Sintassi: <!-- commenti --> <!– background nero, testo bianco, link bianchi> </body> • I commenti non vengono interpretati dal </html> browser 47 Osservazione • Il browser: • non segnala né corregge gli errori. Infatti ignora: • interruzione di riga • spazi multipli • tags <p> (paragrafo) multipli • tags sconosciuti o scritti in modo errato (non visualizza niente oppure visualizza il contenuto del tag come testo) • commenti commento 48 Esempio 6: Liste (Unordered) … <body> <ul> <li>Un esempio di lista,</li> <li>che comprende vari elementi,</li> <li>elencati in ordine.</li> </ul> </body> <ul type=circle> <li> Primo elemento</li> <li> Secondo elemento</li> <li> Terzo elemento</li> </ul> 8 49 Liste (Ordered) <ol> <li> Primo elemento</li> <li> Secondo elemento</li> <li> Terzo elemento</li> </ol> 50 Liste (definition List) <dl> <dt>Primo Elemento</dt> <dd>Definizione del primo elemento</dd> Liste Annidate: <ol> <li> Primo elemento</li> <ol type=a> <li> Secondo elemento</li> </ol> <li> Terzo elemento</li> </ol> 51 Liste ed elenchi <dt>Secondo Elemento</dt> <dd>Definizione del secondo elemento</dd> </dl> 52 Immagini • L’aspetto dei punti elenco dipende dal browser (e non dal tipo di carattere) • I contenitori <ul> …</ul> e <ol>…</ol> si possono annidare per creare elenchi su più livelli. Non si possono incrociare. • E’ possibile includere nella pagina delle immagini • E’ necessario indicare il nome del file in formato GIF o JPEG specificandone il percorso (ed eventuali altri attributi) • Nel caso di un elenco su più livelli il browser sceglie un tipo di punti elenco per ogni livello • È possibile scegliere il tipo di punto elenco • <UL TYPE=…> con tipo CIRCLE, DISC, SQUARE… • <OL TYPE=…> con tipo a, A, i, I • <OL START=10> fissa a 10 il valore iniziale della numerazione 53 Percorso Immagini <img src= =w] src=percorso[ percorso[height= height=h] [width [width= [border= border=n] [alt="testo [alt="testo alternativo“] alternativo“] [align=left|center|right|top|middle|bottom]> 54 Formato immagini • Le immagini non sono integrate nella pagina Web ma sono chiamate da essa: nella pagina html è inserito il percorso d’accesso all’immagine: • Sintassi: <IMG SRC=percorso d’accesso> • Percorso: • Nome dell’immagine: • l’img si trova nella directory (cartella) che contiene il codice HTML: SRC=“immagine.jpg” Percorso relativo: l’img si trova in una sotto-cartella • I file che contengono immagini hanno formato • JPEG, GIF (animate), PNG • estensione .jpeg, .jpg, .gif, .png SRC=“sottocartella/immagine.gif” • URL assoluto: l’immagine si trova sul Web SRC=“"http://homes.dsi.unimi.it/~lanzarot/img.gif” 9 55 56 Opzioni per le immagini <IMG SRC=immagine.gif ...=... > • ALT=“…” • • • • testo alternativo (se l’immagine non è disponibile) VSPACE=“…” WIDTH=“w” HEIGHT=“h” HSPACE=“…” numero di pixel attorno all’immagine • BORDER=“n” spessore del bordo intorno all’immagine • ALIGN=“BOTTOM|MIDDLE|TOP|LEFT|RIGHT” 57 Collegamenti ipertestuali Esempio 7: Immagini <html> <head> <title>Esempio per l'elemento img</title> </head> <body> <p> Una Immagine: <img src="io.jpg" width=150 alt="io a Roma“ align=“middle”> Il testo può poi continuare di lato all'immagine. <br clear=“all”> Questo inizia una nuova riga</p> <p>Oppure possiamo definire un nuovo paragrafo</p> </body> </html> 58 Collegamenti ipertestuali: Indirizzi URL (esempio 8) • URL Assoluta: • Sintassi: <a href="indirizzo URL"> testo </a> link • Link ad un indirizzo di posta elettronica per l'invio di una e-mail <a href="http://www.unimi.it/">documento "esterno"</a> • URL relativa: <a href="02-paragrafo.html">documento "locale"</a> • Collegamento ad un frammento del documento corrente: <a href="#frammento">"parte" del documento presente</a> <a href="mailto:nome@dominio"> nome </a> link 59 Tabelle • Dove, da qualche parte è stato definito: <p id="frammento">Questo paragrafo costituisce un frammento del presente documento. </p> Esempio 9: Tabelle 60 <table> <!--Inizio tabella--> <tr> <!-- Inizio della I • delimitate dai tag: <table [border=n]> e </table> dove n indica lo spessore della cornice • Ogni riga è delimitata da <tr> …<tr> • Gli elementi di ogni riga sono poi organizzati in colonne, identificate dai tag <th> e </th> in caso di header, o <td> </td> in corrispondenza di dati (cella vuota: <td> </td>) riga--> <th> Anno</th> <!-- I cella--> <th> Temperatura Media</th> <!-- II cella--> </tr> <!-- Fine della I riga--> <tr> <!-- Inizio della II riga--> <td> 2001</td> <!--I cella--> <td> 14º</td> <!--II cella--> </tr> <!-- Fine della II riga--> <tr> <!-- Inizio della III riga--> <td> 2004</td> <!--I cella--> <td> 18º</td> <!--II cella--> </tr> <!-- Fine della III riga--> </table> 10 61 Attributi • Border: definisce se vogliamo il bordo e il suo spessore • Align: se applicato al tag <table> allinea la tabella; se applicato ai tag <tr> allinea il contenuto delle celle • Valign: per posizionare verticalmente il testo nella tabella (top|middle|bottom) • Cellpadding: per definire lo spazio tra testo e bordo della cella (es: cellpadding=“10”) • Cellspacing: definisce lo spazio tra celle • Width: definisce la larghezza della tabella. Può essere espressa in: • • pixel (es: width=“100”) percentuale rispetto alla larghezza totale della finestra (es: width=80%) 63 Tabelle • Possiamo aggiungere una didascalia all a nostra tabella <caption>Temperature medie calcolate negli anni 2001/2004/2007</caption> • Attributi: align=“bottom” posiziona la 62 Tabelle Estendiamo la tabella delle temperature, dividendo le temperature medie tra nord e sud Italia e dando poi il totale. <tr> <th rowspan="2"> Anno</th> <th colspan="3"> Temperatura Media</th> </tr> <tr> <th>Nord</th> <th>Sud</th> <th>Totale</th> </tr> 64 Frame • Un’aggiunta ad HTML che permette di gestire più sorgenti HTML su una stessa pagina • • posso aggiornare singole parti del sito senza toccarne altre posso inserire informazioni variabili (come un’intestazione oppure un elenco dei contenuti) in una sezione della pagina didascalia sotto la tabella 65 Frame <frameset cols="25%,50%,25%"> <frame src="10-frame_a.htm"> <frame src="10-frame_b.htm"> <frame src="10-frame_c.htm"> </frameset> 11