2016-01-06 46 views
0

時,我有一個回報率API做這可能需要一段時間(2〜5分鐘)分析操作。當反應前2分鐘來如何防止重試GET請求的瀏覽器掛於響應

,一切工作正常。瀏覽器掛起2分鐘,一旦得到它就顯示結果。

現在根據HTTP 1.1規範,現代瀏覽器將自動等待一定量的時間之後重試。因此,如果計算時間過長(比如3分鐘或4分鐘),API將從同一客戶端獲得新的請求並重新開始。

我如何防止重試的瀏覽器?我只是希望我的瀏覽器能夠等待響應,而不再重試。

回答

1

的各種瀏覽器超時(TCP TTL,請求超時,連接超時)是在瀏覽器中安裝的是不通過如JavaScript的標準方式配置設定。

如果你真的必須找到一種方法來保持與服務器的連接長時間存活,你可以嘗試執行WebSockets,但即使這可能受瀏覽器,操作系統甚至網絡設備(路由器)的限制。

因此不建議將您的應用程序依賴於正常運行特定的瀏覽器的行爲。也不建議在與服務器的HTTP請求處理相同的線程/進程中發生長時間運行的進程,因爲有人丟失連接可能會導致作業過早終止。您可能需要調查像Resque這樣的寶石,以將長時間運行的作業移至後臺進程。

然後你可以有你的webapp立即響應至後臺作業的狀態與信息工作的要求,你會不會擔心瀏覽器請求重發或失去連接等

相關問題