¿Cuál es la diferencia a nivel de paquete entre un XMLHttpRequest y una solicitud HTTP normal?

StackOverflow https://stackoverflow.com/questions/1214526

  •  06-07-2019
  •  | 
  •  

Pregunta

Me pregunto: si fuera un enrutador, inspector de paquetes, cortafuegos u otro dispositivo de detección de paquetes (que me alegro de no serlo), podría distinguir la diferencia entre una solicitud HTTP tradicional y una solicitud XMLHttpRequest? Menos teóricamente, ¿es posible que algún proveedor de datos de ISP o (digamos) teléfono celular pueda restringir el tráfico XMLHttpRequest sin interrumpir el servicio HTTP?

Gracias.

¿Fue útil?

Solución

No hay nada a nivel de paquete para distinguirlos porque y XMLHttpRequest es una solicitud HTTP. El bit XML se refiere al hecho de que si la respuesta es de un tipo de contenido xml, el método responseXML devolverá un objeto DOM.

Otros consejos

Que yo sepa, no existe una diferencia fundamental, por lo que desde el punto de vista de un enrutador, etc., no se puede ver en general.

Pero sí creo que los kits de herramientas Javascript más populares agregarán un encabezado HTTP a sus XMLHttpRequest s para identificarlos como tales. Aunque olvido el nombre ...

EDITAR : Aquí está un ejemplo (primer hit de Google para " jquery xmlhttprequest header " ;, sin comillas) que muestra que jQuery aparentemente establece X-Requested-With en " XMLHttpRequest " ;.

en paquetes, red, niveles de sesión: no.

a nivel de aplicación, es decir, con un dispositivo específico de HTTP como un proxy de filtrado, tal vez.

comprobaría los encabezados de solicitud HTTP. pueden (solo might ) tener algunas diferencias. pero estoy seguro de que cualquier diferencia sería muy específica del navegador, y muy probablemente el código JavaScript correcto podría insertar los encabezados apropiados para que sea totalmente indistinguible.

en resumen: verifique los encabezados HTTP; pero no esperes que sea general, mucho menos útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top