XMLHttpRequest (XHR) é umaAPI disponível emlinguagens de script paranavegadores web tais comoJavaScript. É utilizada para enviar requisiçõesHTTP ouHTTPS diretamente para umservidor web e carregar os dados de resposta do servidor diretamente de volta ao script[1]. Apesar do nome XMLHttpRequest, os dados podem ser recebidos do servidor através deJSON[2],XML[3],HTML, ou comotexto puro[4]. Dados da resposta podem ser usados diretamente para alterar oDOM do documento atual ativo na janela do navegador sem carregar um novo documento de página. Os dados de resposta podem também ser avaliados pelo script dolado cliente. Por exemplo, se ele foi formatado comoJSON pelo servidor web, ele pode ser facilmente convertido em umobjeto de dados do lado cliente para uso posterior.
A XMLHttpRequest tem um papel importante na técnica de desenvolvimento webAjax. Ela é utilizada atualmente por muitos sites para implementaraplicações web responsivas e dinâmicas. Exemplos dessas aplicações incluemGmail,Google Maps,Facebook e muitas outras.
XMLHttpRequest pode ser considerado um objetoJavascript que torna possível acomunicação assíncrona com oservidor, sem a necessidade de recarregar a página por completo. O objeto XMLHttpRequest é hoje parte da especificação doDOM, nível 3.
O conceito atrás do objetoXMLHttpRequest foi originalmente criado pelos desenvolvedores doOutlook Web Access para oMicrosoft Exchange Server 2000.