Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCapricia Landi Modificato 11 anni fa
1
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A. 2003-2004
2
Il protocollo http REQUEST – RESPONSE
3
APPLICATION SERVER (AS) Un software aiuta il web server che è sprovvisto di capacità elaborativa.
4
Vantaggi / svantaggi delle WA Vantaggi Nessun software da installare nel proprio PC da parte di chi vuole usare l'applicazione. Possibilità di utilizzare il software da qualsiasi punto della rete dalla quale sia accessibile il server.Svantaggi Impossibilità di utilizzare l'applicazione se la rete è fuori servizio. Transito in rete di dati sensibili / personali.
5
Tipi di AS: CGI In sostanza un application server può essere costituito anche da una sola applicazione. Tale applicazione può essere un file eseguibile. C'è da dire che quando si progetta un CGI si deve porre attenzione al fatto che l'interfaccia col web server è da scrivere.
6
Vantaggi / svantaggi di un CGI Vantaggi di un'applicazione CGI Rappresenta il modo di scrivere applicazioni web nel modo più efficiente ed ottimizzato possibile. Si può utilizzare un linguaggio di programmazione che si conosce già. Svantaggi di una applicazione CGI E' poco flessibile: se ad esempio si cambiano i dati in quantità e tipo occorre riscrivere sia la parte elaborativa che l'interfaccia col web server. E' più difficile da scrivere che non usando un application server vero e proprio.
7
AS veri e propri: ASP, CF, ZOPE,... Questa modalità è quella che precisamente ha il nome di application server (AS), in quanto chi scrive i programmi viene sollevato di una serie di problemi, quali l'interfaccia col web server, l'instanziazione delle variabili di processo etc. Scrivere applicazioni web con l'ausilio di un application server è più facile.
8
AS commerciali e open source AS commerciali (proprietari) Cold Fusion di Allaire-Macromedia. ASP (Active Server Pages) di Microsoft. AS open source PHP (P Hypertext Preprocessor), ideato da Rasmus Lerdorf. ZOPE (Z Object Publishing Environment), ideato da Jim Fulton. TOMCAT, è un servlet container per applicazioni JSP. (Esistono anche server J2EE proprietari come IBM WebSphere)
9
Funzionamento di un CGI - 1 Un CGI è una versione elementare e dedicata di application server. Può essere anche molto complesso. In sostanza un CGI è un programma che legge una REQUEST ed elabora una RESPONSE.
10
Funzionamento di un CGI - 2 Per progettare un CGI occorre conoscere almeno un po' il protocollo HTTP (rfc2616). Le informazioni su come costruire la REQUEST vengono scritte nel codice HTML; il browser aggiunge da sé delle intestazioni e invia al server una RICHIESTA
11
Funzionamento di un CGI - 3 Per spedire una REQUEST si possono usare 2 metodi: GET POST che sono alcuni dei comandi del protocollo HTTP
12
Funzionamento di un CGI - 4 GET: il CGI ricava i parametri dalla query string leggendo una variabile di ambiente QUERY_STRING che viene gestita dal web server. Il size della query string è limitato, perciò non possiamo passare molti dati. La query string viene accodata al nome dello script nel comando di GET
13
Funzionamento di un CGI - 5 Esempio di http request (GET): GET /cgi-bin/script.pl?user=marcob HTTP/1.0 Accept: text/plain Accept: text/html User-Agent: MOZILLA/1.0 la query string è user=marcob
14
Funzionamento di un CGI - 6 POST: il CGI riceve i dati dal web server attraverso lo standard input. Il numero di dati che possono essere ricevuti è illimitato. La lunghezza dell'input è scritta nella variabile d'ambiente CONTENT_LENGTH
15
Funzionamento di un CGI - 7 Esempio di http request (POST): POST /cgi-bin/script.pl HTTP/1.0 Accept: text/plain Accept: text/html User-Agent: MOZILLA/1.0 Content-type: application/x-www-form-urlencoded Content-lenght: 5 user=marcob
16
Funzionamento di un CGI - 8 Codice di script.pl #!/usr/local/bin/perl &parse_form_data(*simple_form); print Content-type: text/plain, \n\n; $user = $simple_form{'user'}; if ($user) { print Benvenuto, $user, \n; } else { print Nessun nome immesso; } Continua...
17
Funzionamento di un CGI - 9 sub parse_form_data { local(*FORM_DATA)=@_; local($req_mtd, $qs, @key_value_pairs, $key_value,$key,$value); $req_mtd = $ENV{'REQUEST_METHOD'}; if ($req_mtd eq GET) { $qs = $ENV{'QUERY_STRING'}; } else { read (STDIN, $qs, $ENV{'CONTENT_LENGTH'}); } @key_value_pairs = split(/&/,$qs); foreach $key_value(@key_value_pairs) { ($key,$value) = estrai($key_value); $FORM_DATA{$key} = $value; }
18
Bibliografia Shishir Gundavaram, CGI Programming, O'Reilly, 1996 Wall, Schwartz, Programming Perl, O'Reilly, 1991
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.