2017-08-15 60 views
1

從我的this的理解,當Tomcat服務器接收到一個HTTP多請求時,servlet只會所有部件的傳輸完成後調用。Tomcat:HTTP Multipart請求被中斷時會發生什麼?

如果轉移被中間打斷,會發生什麼? (例如,如果在上載1Gb文件時客戶端的網絡連接斷開?)在這種情況下,何時會調用servlet?

具體而言,我可以在我的servlet中看到一些未正確關閉的java.io.InputStream(可能來自中斷傳輸),但我希望服務器即使在調用servlet之前也會拒絕Multipart爲不完整的?如何解釋這些不正確關閉的文件? HTTP協議有一些控制機制來防止不完整的請求。 (我使用org.apache.commons.fileupload.FileItemApache Commons FileUpload

我的問題可能不是特定於Java/Tomcat的。

+0

服務器的讀取超時會踢,連接將被關閉。 – EJP

回答

0

這是不可能的Tomcat在所有這些年忘了關多部分流,雖然不是不可能考慮錯誤的巨量。但我的猜測是,這是你的應用程序代碼中的其他地方。

一般來說,如果客戶端無法正常上傳多流這是對協議層的錯誤,並沒有任何與您的應用程序,因此服務器處理它。這與如果有人撥打網址一樣,但只輸入前半部分。這一切都是由服務器處理的,因爲答案只能是在該點終止連接。

相關問題