XMLHttpRequest

API che possono essere usate da linguaggi di scripting dei browser

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.

Collegamenti esterni