XMLHttpRequest
Template:Stub informatica XMLHTTP è un set di API che possono essere usate da JavaScript, JScript, VBScript e altri linguaggi di scripting dei browser per trasferire XML o altri dati da e a un web server tramite HTTP. Il più grande vantaggio di XMLHTTP è la possibilità di aggiornare dinamicamente una pagina web senza ricaricare l'intera pagina. Viene usato da alcun siti web per velocizzare applicazioni dinamiche. Un esempio di applicazione XMLHTTP è il servizio di posta elettronica Gmail di Google.
XMLHTTP è un componente importante nella tecnica di sviluppo web "AJAX".
Oltre a XML, XMLHTTP può essere usato per prendere dati in altri formati, come JSON o anche testo semplice.
XMLHttpRequest è un elemento fondamentale della tecnica di sviluppo web conosciuta con l'acronimo Ajax, ed è utilizzato in molti siti web per implementare applicazioni fruibili via browser dinamiche ed interattive. Una delle prime applicazioni ad utilizzare questo componente è stato il servizio di webmail di Google Gmail, a cui sono seguiti Google Suggest, Meebo, Virtual Earth di MSN e MapQuest.
Metodi
Metodo | Descrizione |
---|---|
abort() | Cancella la richiesta in atto. |
getAllResponseHeaders() | Restituisce sotto forma di stringa tutti gli header HTTP ricevuti dal server |
getResponseHeader( nome_header ) | Restituisce il valore dell'header HTTP specificato |
open( metodo, URL ) open( metodo, URL, async ) open( metodo, URL, async, userName ) open( metodo, URL, async, userName, password ) |
Specifica il metodo, l'URL, and altri parametri opzionali per la richiesta.
Il parametro metodo può assumere valote di "GET", "POST", oppure "PUT" ("GET" è utiulizzato quando si richiedono dati, mentre "POST" è utilizzato per inviare dati, spcialmente se la lunghezza dei dati da trasmettere è maggiora di 512 bytes). Il parametro URL può essere sia relativo che assoluto. Il parametro "async" specifica se la richiesta deve essere gestita in odo asincrono oppure no – "true" significa che lo script può proseguire l'elaborazione senza aspettare la risposta dopo il metodo send(), mentre "false" significa che lo script è costretto ad aspettare una risposta dal server prima di continuare. |
send( content ) | Invia la richiesta |
setRequestHeader( chiave, valore) | Aggiunge la coppia chiave/valore alla richiesta da inviare. |
Storia
L'oggetto venne originariamente inventato da Microsoft, usato da Internet Explorer 5.0 come oggetto ActiveX, accessibile via JavaScript, VBScript, o qualsiasi altro linguaggio supportato dal browser. Gli sviluppatori di Mozilla implementarono poi una versione compatibile in Mozilla 1.0. Successivamente è stato supportato anche da Apple con Safari 1.2 e da Opera Software con Opera 8.0.
La maggior parte delle pagine ben progettate che usando XMLHTTP sono destinate a nascondere le implementazioni dell'oggetto XMLHTTP incapsulando la sua invocazione con un Javascript.
Funzionalità simili sono incluse in DOM Livello 3 "Load and Save", già raccomandazione del W3C. Tuttavia, per ora (2005), nessun web browser supporta in modo completo questa specifica. XMLHttpRequest è comunque pensato come uno standard di fatto per il futuro.