仅仅通过查看HTTP流量就可以看出是否使用了AJAX吗?

仅仅通过查看HTTP流量就可以看出是否使用了AJAX吗?,ajax,http,networking,http-headers,Ajax,Http,Networking,Http Headers,我正在制作一个程序来监控我的网络,在这个程序中,我正在读取通过我的网络的HTTP流量。我想做的一件事是将AJAX HTTP流量与“正常”HTTP流量分开。有可能做这样的事吗?HTTP头中是否有东西告诉您请求是否是AJAX请求?大多数框架在发出AJAX请求时都会设置X-Requested-With头。看起来是这样的: X-Requested-With: XMLHttpRequest 没有任何保证(很明显,头是在客户端的完全控制下),但通常是在那里。一个黑客解决方案是检查JSON和可能的XML响应

我正在制作一个程序来监控我的网络,在这个程序中,我正在读取通过我的网络的HTTP流量。我想做的一件事是将AJAX HTTP流量与“正常”HTTP流量分开。有可能做这样的事吗?HTTP头中是否有东西告诉您请求是否是AJAX请求?

大多数框架在发出AJAX请求时都会设置
X-Requested-With
头。看起来是这样的:

X-Requested-With: XMLHttpRequest

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

一个黑客解决方案是检查JSON和可能的XML响应。我不知道
X-request-With
头,但当我检查Firefox发出的简单AJAX请求时,我找不到这个头,所以我不确定这个标题有多可信。@Cokegod:好吧,没有一个标题可以被“信任”,因为它们都是根据客户的意愿设置的。实际上,我所知道的所有框架在发出AJAX请求时都会自动设置这个头。但让我们举一个反例:你提出了请求,你检查了它。其中是否有明确标记为AJAX的内容?大概不会。这就是你值得信任的答案。我知道我永远不能100%信任一个标题,但是你有
User-Agent
标题,它几乎总是被使用。我希望类似的东西能够显示请求是否通过AJAX发送。如果找不到更好的标题,我想我会使用
X-request-With
标题。