SOMMARIO La nascita del Web Architettura Client/Server Protocollo HTTP Il Concetto di URL (Uniform Resource Locator) Il Linguaggio HTML Il Concetto di CGI (Common Gateway Interface) Il Concetto di APPLET
INTERNET e World Wide Web Internet è l’insieme di migliaia di computer collegati fra loro che utilizzano un protocollo di comunicazione standard TCP/IP (Transmission Control Protocol / Internet Protocol). Usano cavi telefonici, canali dedicati o backbone – alta velocità Il World Wide Web (WWW) è il modo per accedere a queste informazioni
LA NASCITA DEL WEB 13 marzo 1989 : nasce l’idea del World Wide Web presso il CERN (Conseil Européen pour la Recherche Nucléaire) di Ginevra, il più importante laboratorio di fisica europeo. L 'informatico inglese Tim Berners-Lee elabora un software per la condivisione di documentazione scientifica in formato elettronico per migliorare la comunicazione, e quindi la cooperarazione, tra i ricercatori dell'istituto. 6 agosto 1991 : Tim Berners-Lee pubblica il primo sito web dando così vita al fenomeno "WWW" (detto anche "della tripla W"). 30 aprile 1993 : il CERN decide di mettere il WWW a disposizione del pubblico rinunciando ad ogni diritto d'autore: nasce l’ "era del web".
LA NASCITA DEL WEB Home page del primo sito web http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html Il computer utilizzato da Lee per realizzare il primo server web
ARCHITETTURA CLIENT/SERVER La maggior parte dei servizi telematici offerti da Internet si basa su una particolare modalità di interazione denominata architettura client-server. La denominazione indica un’architettura software costituita da due moduli integrati ma distinti, residenti generalmente su calcolatori diversi . I computer connessi in rete si distinguono in: - Server, elaboratori potenti che mettono a disposizione di altri computer (client) le loro risorse hardware e software o servizi di vario genere - Client, computer dotati di software che consente loro di connettersi al server per utilizzarne le risorse
ARCHITETTURA CLIENT/SERVER Nel client viene caricata la parte client di istruzioni affinchè l'elaboratore possa connettersi a Internet, navigare, eseguire download. Nel server viene installata la parte di istruzioni che regolano gli accessi dei client e il rilascio di risorse. Un software (o browser) installato sul client consente l'accesso alle funzionalità offerte dal server es. Internet Explorer, Mozilla, Netscape, Opera, Flock, ecc...
HTTP - Hypertext Transfer Protocol Problema principale : correlare tra di loro i vari documenti prodotti e mantenere queste correlazione anche quando i documenti stessi vengono aggiornati. Soluzione : l’ipertesto (hypertext), un documento nel quale possono essere inserite le opportune istruzioni per raggiungere una determinata parte di un altro documento, che può risiedere su qualsiasi sistema connesso alla rete. Nasce il protocollo HTTP , la cui idea di base è quella del meccanismo client-server per la visualizzazione del contenuto di file tra sistemi collegati ad una stessa rete. Un server HTTP (o web server) è un’applicazione che rimane in ascolto su una determinata porta di comunicazione di eventuali richieste inoltrate dai relativi client.
HTTP - Hypertext Transfer Protocol Le specifiche del protocollo sono gestite dal World Wide Web Consortium (W3C) , fondato da Lee nel 1994 allo scopo di migliorare gli esistenti protocolli e linguaggi per il World Wide Web e di aiutare il web a sviluppare tutte le sue potenzialità. L'HTTP funziona su un meccanismo richiesta/risposta (client/server): il client esegue una richiesta ed il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server al sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta .
HTTP - Hypertext Transfer Protocol MESSAGGIO DI RICHIESTA Riga di richiesta (request line) Sezione header ( informazioni aggiuntive ) Body ( contenuto del messaggio ) Riga di stato (status line) Sezione header ( informazioni aggiuntive ) Body ( contenuto della risposta ) MESSAGGIO DI RISPOSTA
URL - Uniform Resource Locator URL (Uniform Resource L ocator): indirizzo internet testuale che identifica univocamente l'indirizzo di una risorsa in Internet, come un documento o un'immagine; molto più semplice e intuitivo dell’indirizzo IP. Indirizzo IP : costituito da quattro gruppi di numeri di tre cifre al massimo, separati da un punto. Es: 167.78.345.999. Esso identifica l’URL testuale ed è invisibile all’utente.
URL - Uniform Resource Locator http://www.mirellatessi.it Protocollo: usato per il trasferimento di pagine WEB dal server al client Indicano che la pagina Web è collocata in un sito connesso via rete e non sul nostro PC World Wide Web Nome di fantasia: indica il proprietario della pagina web che sarà contattato dal provider per poterlo visionare È il dominio e indica l’appartenenza geografica o tematica del sito
HTML - HyperText Markup Language Le pagine Web sono scritte in linguaggio HTML (HyperText Markup Language): i browser internet riconoscono questo linguaggio. Il linguaggio si basa su apposite parole chiavi dette tag (marcatori) che indicano una specifica caratteristica per il testo da essi gestito. U n tag è una parola chiave racchiusa tra parentesi angolari, cioè tra i simboli ‘<’ e ‘>’. I tag vengono utilizzati a coppie: un tag indica l’inizio di una caratteristica e un’altro ne indica la fine, in maniera tale che la caratteristica da essi gestita venga attivata per il testo tra essi racchiuso.
HTML - HyperText Markup Language Un esempio di codice HTML L'HTML non è un linguaggio di programmazione , ma un linguaggio di markup , ossia descrive le modalità di impaginazione, formattazione o visualizzazione grafica (layout) del contenuto di una pagina web. Tuttavia, l'HTML supporta l'inserimento di script e oggetti esterni quali immagini o filmati.
CGI - Common Gateway Interface 1993 : David Robinson e Ken Coar implementano la Common Gateway Interface (CGI) , inizialmente allo scopo di utilizzarla per le mailing list. Le pagine scritte con linguaggio HTML sono file “statici”: la visualizzazione del contenuto non cambia fin quando il file non viene modificato. Ogni volta che un client richiede al server un URL corrispondente ad un documento in puro HTML gli viene quindi restituito un documento statico (come un file di testo). Quando l'URL corrisponde invece ad un programma CGI, il server lo esegue in tempo reale, generando dinamicamente informazioni .
CGI - Common Gateway Interface Applicazioni CGI possono essere scritte in: C/C++, Fortran, PERL , TCL, Any Unix shell, Visual Basic, ecc ..
CGI - Common Gateway Interface Normale attivazione di una CGI : Si invia al server un messaggio (ciò avviene tipicamente riempiendo moduli, i cui dati serviranno come input al programma ); Il messaggio scatena l'esecuzione del programma CGI; Il programma CGI genera come output una pagina HTML in cui inserisce i risultati della sua esecuzione.
APPLET Applet (Application + Gadget): programma che viene eseguito come "ospite" nel contesto di un altro programma, per questo detto container , su un computer client. Il termine è oggi spesso riferito alle applet Java , ospitate da un browser. Quando un’applet arriva sul client, ha un accesso limitato alle risorse, in modo da produrre un’interfaccia utente variabile ed eseguire calcoli complessi senza che si corra il rischio di una propagazione di virus o di una violazione dell’integrità dei dati.
APPLET Differenze tra applet e applicazioni Le applet non hanno bisogno di un metodo main (), cioè il metodo principale, di partenza delle applicazioni Java; Le applet devono essere eseguite con un visualizzatore di applet o con un browser di rete compatibile con Java; L’I/O (input/output) dell’utente non viene realizzato con le classi di I/O di Java, ma le applet utilizzano invece l’interfaccia fornita da AWT, la libreria Java contenente le classi e le interfacce fondamentali per la creazione di elementi grafici.