2015-06-05 29 views
1

我正在構建一個以API爲中心的網站和移動應用程序。在我的網站上,我在向api發送請求期間創建了自定義標頭。在api請求中在url中添加時間戳

我的API請求之一期間會注意到它是創造以下網址

GET http://127.0.0.1/eapi/v1/es/fol?_=1433499279064 

我沒加尾隨參數(一個粗體),

GET http://127.0.0.1/eapi/v1/es/fol? _ = 1433499279064

所以這裏是我的問題:

  1. 誰加的? (jquery ??)
  2. 它是否安全,它沒有參數鍵(名稱),雖然技術上存在一個鍵(_下劃線)。

我使用的Firefox 38.0.1,jQuery的1.11

回答

1

它是由通常加入的API的(如jQuery)停止從被緩存的要求,所以可以保證實時的結果。這非常安全。


更新:如果你真的要禁用這個(你一般不會想這樣做),那麼你可以這樣做:

jQuery.ajaxSetup({ cache:true });

這是解釋jQuery documentation

緩存(默認值:true,對於dataType'腳本'和'jsonp'爲false)

類型:布爾型

如果設置爲false,它將強制請求的頁面不被瀏覽器緩存爲 。注意:將緩存設置爲false只能正確使用HEAD和GET請求 。它通過在GET參數中追加 「_ = {timestamp}」來工作。 其他類型的請求不需要此參數,IE8中除POST之外已由GET請求的URL爲 。

+0

因此,如果我會選擇使用xhr或原生javascript開發請求,那麼我必須自己添加時間? –

+0

解釋它。我想,這可能是我在閱讀過程中錯過的東西。 –

+0

如果你使用本地JavaScript編寫你自己的XHR請求,那麼是的,時間戳將不會被添加進來。這是在這個實例中的'jQuery'已經完成了,以防止瀏覽器,即IE,緩存響應和給予返回陳舊的數據。 – cjhill

相關問題