代码之家  ›  专栏  ›  技术社区  ›  Alan

XMLHttpRequest和常规HTTP请求的包级别有什么区别?

  •  4
  • Alan  · 技术社区  · 15 年前

    我想知道:如果我是一个路由器、包检测程序、防火墙或其他包嗅探设备(我很高兴我不是),我能分辨出传统HTTP请求和XMLHttpRequest之间的区别吗?从理论上讲,是否有可能某些ISP或(例如)手机数据提供商可以在不中断HTTP服务的情况下限制XMLHttpRequest流量?

    谢谢。

    3 回复  |  直到 15 年前
        1
  •  4
  •   MyItchyChin JNK    15 年前

    由于xmlhttpRequest是一个HTTP请求,所以在包级别没有什么可以区分它们的。XML位指的是这样一个事实:如果响应是XML内容类型,那么responseXML方法将返回一个DOM对象。

        2
  •  2
  •   David Z    15 年前

    据我所知,没有根本的区别——所以从路由器等的角度来看,你不能说一般。

    但我相信最流行的javascript工具包会在它们的 XMLHttpRequest 以确定他们的身份。但我忘了名字…

    编辑 这里是 an example (谷歌点击“jquery xmlhttprequest header”,没有引号)显示jquery显然设置了 X-Requested-With 对象 “。

        3
  •  1
  •   Javier    15 年前

    在包、网络、会话级别:否。

    在应用程序级别,也就是使用特定于HTTP的设备,比如过滤代理。

    我会检查HTTP请求头。他们可能(只是 可以 )有一些不同。但我敢肯定,这两者之间的任何区别都是非常特定于浏览器的,很可能正确的javascript代码可以插入适当的头文件,使其完全不可区分。

    简言之:检查HTTP头;但不要期望它是通用的,用处要小得多。