Tutte le pagine WML di un determinato sito WAP sono fisicamente residenti su un normale Web server (Apache, Linux, IIS, etc), a patto che quest'ultimo sia "predisposto" ad accettare file di tipo: WML, WMLS (WML Script) e WBMP (le immagini in formato WAP). Supponiamo si voglia visitare un sito WAP, vediamo come avviene la chiamata e la codifica dal lato server. L'utente fa una chiamata al proprio operatore col suo telefonino WAP e si connette. La nostra richiesta di accedere un certo sito avviene specificando il suo URL, il telefonino allora interroga il WAP Gateway chiedendogli di trasmettergli la pagina specificata. Questo inoltra la richiesta al Web server che ospita la pagina, traducendo la richiesta nel corretto comando HTTP. Il Web server quindi ritorna al WAP Gateway il contenuto della pagina per mezzo sempre del protocollo HTTP; e quest'ultimo, dopo averlo decodificato e codificato con il protocollo WAP, inoltra il deck WML al telefonino WAP. Perché tutto questo processo funzioni è fondamentale configurare opportunamente il proprio telefonino, indicando l'indirizzo IP del WAP Gateway da utilizzare; senza questo parametro per il telefonino sarebbe impossibile accedere alla rete e navigare. CONFIGURARE UN WEB SERVER PER IL WML/WAP Cosa succede quando un terminale WAP si collega ad Internet per accedere ad un qualsiasi sito WML. L’access server del fornitore di accesso (ISP, MIP o gestore) riceve la chiamata, verifica userid e password impostate quindi assegna un indirizzo IP al terminale WAP, così come avviene per una normale connessione da un PC fisso, e mette in comunicazione diretta il terminale WAP con il WAP Gateway (di cui si è specificato l’indirizzo IP tra i parametri di configurazione; è evidente quindi l’importanza di una corretta impostazione del telefonino pena la non raggiungibilità del WAP Gateway). Il WAP Gateway ha il compito di trascodificare le comandi e risposte dal protocollo WAP al protocollo HTTP e viceversa. La trascodifica si rende necessaria dal momento che il colloquio tra il cellulare ed il WAP Gateway avviene in formato codificato per poter ridurre al minimo la quantità di dati trasferiti sulla poca e preziosa banda a disposizione. Ogni oggetto trasferito da un Web Server viene descritto da un tipo MIME che ne specifica il formato e che viene inviato prima dell'oggetto per permettere al browser di trattarlo in maniera opportuna, ad esempio conoscere il formato dell'immagine in modo da utilizzare il corretto filtro/algoritmo di visualizzazione. I tipi MIME sono composti da tipo/sottotipo, eccone alcuni:
Se non fosse per questo, un browser non saprebbe come trattare i dati che giungono dalla rete e permetterebbe all'utente solo di salvarli su disco. E' quindi necessario configurare il Web server per poter gestire anche i
tipi MIME relativi alle nuove estensione del WAP: .wml, .wmlc, ,wbmp, etc. Il browser WAP,
inviata una richiesta per una pagina WAP si aspetta in risposta dei dati che siano
contraddistinti dal tipo text/vnd.wap.wml, mentre un normale Web Server risponderebbe con il
tipo text/html tipico di una classica pagina Web in HTML che non sarebbe riconosciuta dal
microbrowser dei telefonini WAP. wml text/vnd.wap.wml wmlc application/vnd.wap.wmlc Wmlsc application/vnd.wap.wmlscriptc Wmlscript text/vnd.wap.wmlscript Ws text/vnd.wap.wmlscript Wsc application/vnd.wap.wmlscriptc Wmls text/vnd.wap.wmlscript Wbmp image/vnd.wap.wbmp Nel caso in cui non siate in grado di farvi impostare dal vostro amministratore del server i MIME type, si può ricorrere ad un piccolo trucchetto: i linguaggi di programmazione Web Server Side come ASP, PHP, Cold Fusion etc. danno la possibilità di settare in maniera dinamica il MIME type della pagina che si sta generando. Per verificare se il vostro Web server è già configurato per supportare i MIME type WAP create un piccolo deck WML e scaricatelo sul server con i metodi tradizionali (via FTP o altro). <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="ciao" title="ciao"> <p> Ciao<br/> Questa e' una card in WML. </p> </card> </wml> Se richiamando la pagina da un terminale WAP (o un emulatore) otterrete una risposta del tipo "Connessione al server rifiutata" o "Contenuto file sconosciuto", il Web server non è stato configurato. Con ASP è possibile ovviare al problema semplicemente aggiungendo come prima riga del deck il comando: <% Response.ContentType = "text/vnd.wap.wml" %> e salvando la pagina con estensione .asp (e non più .wml). Richiamandola ora il tutto dovrebbe funzionare. Il comando ASP ContentType permette infatti di specificare "al volo" il tipo MIME della pagina che si sta generando. Ecco il risultato: |
|||
Copyright © Marcello Scatà 1997-2002 - Ultima modifica domenica 7 novembre 2004 Execution time 3680 ms | |||