jajaja Me gusta el formato tipo "parcial"
XMLHttpRequest es una interfaz la cual es usada para hacer peticiones HTTP y HTTPS a los servidores. Esa transferencia de archivos se realiza mediante texto plano, o mediante la sintaxis de algun lenguaje como xml, js, html, etc. Esta interfaz esta presentada como una clase, de la cual se pude instanciar un objeto.
Basicamente para que entiendas, lo que se hace son peticiones al server, como por ejemplo "ejecuta tal archivo". "Traeme el texto o la ruta de la imagen que esta en tal archivo" y asi las que te imagines.
El DOM, como vos bien pusiste Document Object Model, es nada mas ni nada menos que eso.
Para entenderlo, te conviene pensar en cada tag (etiqueta) como un objeto con sus propiedades y metodos, que a la vez puede estar dentro de otro objeto y asi sucesivamente.
El DOM es un API que permite a ciertos lenguajes de programacion acceder a los documentos y modificar, crear y destruir a gusto. Digamos que se usa mas que nada para crear contenido dinamicamente (DHTML por ejemplo) y para la manipulacion de datos.
Ejemplo:
Código HTML:
function dom(){
var lnk=document.getElementById("tuLink"); //traemos el objeto <a></a> por su id
vat txt=document.createTextNode("algo"); //creamos un nodo de texto en el documento
lnk.appendChild(txt); //le enchufamos ese texto al link quedaria: <a>algo</a>
}
Para darte una idea del DOM tenes que pensar al documento como un arbol de etiquetas
Por ultimo, los datos enviados al servidor, como ya te explique antes, se hacen mediante codigo, texto plano.
Suerte!