我注意到,在一個標準的grails環境中,即使客戶端連接丟失且結果無法再傳遞,總是執行一個請求到最後。當客戶端連接丟失時取消請求
有沒有一種方法來配置環境,使客戶端連接一旦丟失就立即取消請求的執行?
更新:感謝您的答覆。是 - 大多數的我試圖避免的問題,可以通過更好的編碼來避免:
- 緩存可以使幾乎每一個頁面快速
- 令牌可以幫助避免提交的東西兩次
但有一些請求仍然會消耗一些時間。以地圖服務爲例。計算路線需要一些時間。避免重新提交請求的一種解決方案可能是「計算進度」標記以及給用戶的消息。但是,然後仍然有可能創建大量的會話,因此很多的請求,以便做DOS攻擊...
我仍然好奇:有沒有辦法配置服務器來取消請求?我曾經在服務器以這種方式運行的系統上開發,並且它很棒:-)
是的,緩慢的請求是真正的問題。想象一下,搜索需要花費一些時間,一個不耐煩的用戶多次重新加載頁面,因爲她認爲這可能會有所幫助... – rdmueller 2011-12-30 07:38:12
我認爲你可以通過使用Nginx和適當的緩存/ etag頭文件來處理這個問題,服務器端緩存(ehcache/memcache/etc) – 2011-12-30 07:43:33