2013-05-10 107 views
0

我正在制作一个程序来监视我的网络,并且在此程序中,我正在读取正在经过我的网络的HTTP流量。我想要做的一件事是将AJAX HTTP流量与“正常”HTTP流量分开。是否有可能做这样的事情? HTTP标头中是否有可以告诉你请求是否是AJAX请求的东西?是否可以通过查看HTTP流量来查看是否使用了AJAX?

+0

一个骇客解决的办法是检查JSON和可能的XML响应。 – millimoose 2013-05-10 22:49:24

回答

0

有大多数框架在制作AJAX请求时设置的X-Requested-With标头。它看起来像这样:

X-Requested-With: XMLHttpRequest 

有没有保证(显然头是在客户端的完全控制下),但通常它在那里。

+0

我不知道'X-Requested-With'标头,但是当我检查一个简单的使用Firefox制作的AJAX请求时,我找不到这个标头,所以我不确定这个标头有多信任。 – Cokegod 2013-05-10 23:02:55

+0

@科克戈德:好吧,没有头可以被“信任”,因为它们都是客户的乐趣。 *在实践中*,我知道的所有框架都会在发出AJAX请求时自动设置此标头。但让我们以你的反例为例:你提出了请求,你检查了它。有没有什么明确标记为AJAX?大概不会。所以这就是您可信赖的答案。 – Jon 2013-05-10 23:07:48

+0

我知道我永远不可能100%信任头,但是你确实有'User-Agent'头,它几乎总是被使用。我希望有类似的东西来显示请求是否通过AJAX发送。我想如果我找不到更好的东西,我会使用'X-Requested-With'标头。 – Cokegod 2013-05-10 23:11:30

相关问题