Asegúrese de leer la respuesta de SilverlightFox. Destaca una razón más importante.
La razón es principalmente que si conoce el origen de una solicitud, es posible que desee personalizarla un poco.
Por ejemplo, supongamos que tiene un sitio web que tiene muchas recetas. Y utiliza un marco jQuery personalizado para deslizar recetas en un contenedor en función de un enlace en el que hacen clic. El enlace puede serwww.example.com/recipe/apple_pie
Ahora normalmente eso devuelve una página completa, encabezado, pie de página, contenido de recetas y anuncios. Pero si alguien está navegando en su sitio web, algunas de esas partes ya están cargadas. Por lo tanto, puede usar un AJAX para obtener la receta que el usuario ha seleccionado, pero para ahorrar tiempo y ancho de banda no cargue el encabezado / pie de página / anuncios.
Ahora puede escribir un punto final secundario para los datos, www.example.com/recipe_only/apple_pie
pero es más difícil de mantener y compartir con otras personas.
Pero es más fácil detectar que se trata de una solicitud ajax que realiza la solicitud y luego devuelve solo una parte de los datos. De esa forma, el usuario desperdicia menos ancho de banda y el sitio parece más receptivo.
Los marcos simplemente agregan el encabezado porque a algunos les puede resultar útil realizar un seguimiento de qué solicitudes son ajax y cuáles no. Pero depende completamente del desarrollador para usar tales técnicas.
En realidad es algo similar al Accept-Language
encabezado. Un navegador puede solicitar un sitio web. Muéstrame una versión rusa de este sitio web sin tener que insertar / ru / o similar en la URL.