Web 2.0 è un termine coniato per fare riferimento a applicazioni Web che vengono eseguite senza aggiornamenti di pagine visibili. Un normale sito web funziona fornendo pagine di informazioni, con collegamenti che consentono all';utente di spostarsi da una pagina all';altra. Un';applicazione web 2.0, o un';applicazione AJAX, viene eseguita su una singola pagina Web e utilizza clientide javascript per avviare ed elaborare richieste aggiuntive al server. Le richieste aggiuntive vengono eseguite in background e non sono visibili all';utente; il risultato finale è che l';applicazione web appare molto simile a un normale programma per computer, e l';utente può continuare a manipolare l';interfaccia dell';applicazione e dell';applicazione senza dover attendere le richieste aggiuntive inviate al server per completare.
Presentazione di Web Security
AJAX è un acronimo che sta per Asynchronous Javascript e XML. La cosa interessante di AJAX è che il componente XML è in realtà non necessario, o piuttosto opzionale. Il componente importante è il javascript asincrono: questo è il modo in cui funzionano le applicazioni web2.0 e il componente XML è solo un possibile formato per inviare e ricevere richieste di dati aggiuntive al server. Tuttavia, poiché questa elaborazione avviene in background ed è invisibile all';utente finale, puoi effettivamente creare un';applicazione web 2.0 utilizzando qualsiasi formato per le richieste di dati che desideri.
La chiave per implementare un';applicazione Web 2.0 AJAX è nell';oggetto XMLHTTP. Gli oggetti XMLHTTP esistono in molte forme, sia lato server che lato client, e lo scopo è quello di consentire il recupero e l';elaborazione di pagine Web esterne dall';applicazione di codifica. Poiché stiamo cercando di creare un';applicazione web 2.0 sul lato client e poiché Javascript è l';applicazione di scripting più ampiamente disponibile per i browser Web, AJAX è l';implementazione ideale e un buon codice Javascript per il cross-browser per creare un';istanza dell';oggetto XMLHTTP è come segue:
if (document.all) req = new ActiveXObject (:Microsoft.XMLHTTP:);
else req = new XMLHttpRequest ();
Quando si crea un';applicazione web 2.0, l';idea è che ogni volta che si inviano normalmente dati al server e si riceve una risposta in risposta inviando un modulo o utilizzando un collegamento a una pagina esterna, invece lo si implementa utilizzando l';oggetto XMLHTTP per inviare la richiesta o il modulo in background e elaborare i dati risultanti senza ricaricare il browser. L';oggetto XMLHTTP consente di inviare richieste in modo sincrono o asincrono, ma dal momento che stiamo creando un';applicazione AJAX useremo la modalità asincrona in quasi tutti i casi. Quando invii i dati del modulo, puoi utilizzare il metodo GET o POST, ma in questo articolo ti mostrerò come utilizzare POST con l';oggetto XMLHTTP in quanto ti consente il più ampio utilizzo possibile.
Dopo aver istanziato l';oggetto XMLHTTP, ci sono quattro semplici comandi per creare un';applicazione web 2.0. La proprietà :onreadystatechange: viene utilizzata per la modalità asincrona per definire una funzione che viene eseguita ogni volta che cambia lo stato della richiesta (ad esempio quando viene completata). Il metodo :aperto: crea la richiesta e il metodo :invia: invia la richiesta. Inoltre, il metodo :setRequestHeader: viene utilizzato per specificare il formato dei dati che vengono inviati. Ecco alcuni esempi di codice che mostrano come funzionerebbe un';applicazione AJAX di base:
if (document.all) req = new ActiveXObject (:Microsoft.XMLHTTP:);
else req = new XMLHttpRequest ();
req.onreadystatechange = ajaxProcess;
req.open ( ';post';, ';http: //';+location.host+';/ajax.asp';,true);
req.setRequestHeader ( ';Content-Type';, ';/ x-www-form-urlencoded applicazione';);
req.send ( ';p1 ='; + fuga (p1) + ';& p2 ='; + sfuggire (p2));
In questo esempio, :/ajax.asp: è la pagina che viene recuperata e :ajaxProcess (): è la funzione che viene eseguita una volta recuperata la pagina. Le variabili :p1: e :p2: vengono inviate alla pagina come dati del modulo. Ovviamente puoi inviare tutti i dati che desideri in base a ciò che devi fare; assicurati che il file ajax.asp li elabori correttamente e restituisca i risultati. Definire la funzione ajaxProcess () in modo che elabori i risultati restituiti e aggiorni l';interfaccia utente per indicare che la richiesta è stata completata e aggiorna le variabili appropriate e / o l';utente con i nuovi dati. Se desideri vedere in azione un';applicazione Web 2.0 di AJAX, puoi consultare l';RPG web2.0 che ho creato, Apocalypse, disponibile su www.apocrpg.com .
Usando questi metodi, puoi infatti inviare qualsiasi dato che vuoi al server ed elaborare i risultati, proprio come se avessi usato una normale richiesta HTTP. La differenza è che quando viene eseguito normalmente, l';utente finale deve attendere il caricamento di ogni pagina, il che può essere inaccettabile se l';utente è in dialup e vi è un numero elevato di azioni da eseguire indipendentemente (ricariche di più pagine). Usando AJAX in un';applicazione web 2.0, è possibile eseguire queste azioni in background e l';utente non avverte mai i ritardi poiché è in grado di continuare a manipolare l';interfaccia utente mentre le richieste di pagina vengono elaborate in background, invisibili.
Questo tipo di applicazione Web non era possibile in passato, per due motivi. In primo luogo, l';oggetto XMLHTTP non era disponibile fino a poco tempo fa, e anche Javascript non era ampiamente supportato da quasi tutti i browser come oggi. Ora che le richieste della pagina di sfondo sono possibili, è probabile che in futuro tutte le applicazioni Web verranno convertite o migrate in applicazioni AJAX web2.0 / clientside. Ci sono anche innumerevoli applicazioni web che semplicemente non erano possibili o fattibili con il vecchio modello, che sicuramente vedremo apparire nei prossimi anni, che potrebbero potenzialmente avere molto successo. Il tuo sito Web potrebbe essere uno di questi, quindi inizia!