2013-05-10 75 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

相關問題