2013-08-05 21 views
0

我有要求通過HTTP爲移動應用程序(例如android,iphone等)提供法律文件。腐敗可能發生在http上(參考文獻:12)。在我的情況下,下載的文件在傳輸過程中沒有被破壞是非常必要的。確保下載數據的HTTP機制在下載過程中沒有損壞?

確保完整性的一種機制是對文檔進行數字簽名。如果文檔是xml,這種方法運行良好,但簽名公鑰需要被客戶端使用和信任。

另一種機制是創建並存儲文檔的校驗和(例如MD5)。客戶端可以下載文檔和校驗和,然後使用校驗和來驗證文檔。

  • 問題1:是否有任何其他替代機制來確保完整性?
  • 問題2: http是否有內置的機制來確保下載過程中下載的數據沒有被破壞?
  • 問題3:通過HTTP下載文件時發生文件損壞的可能性是什麼(我希望這個答案是由統計數據備份的)?
+0

你有沒有做過任何研究,因爲你的問題缺乏關於這個問題的知識。在通過HTTP傳輸文檔時,您是否會遇到問題?或者這是一個假設性問題? – CodeCaster

+0

我已經添加了一些對可能發生的問題的引用。我理解問題和解決方案的空間非常好,但如果我對這個問題有完全清晰的認識,我會在問題的旁邊發佈答案! –

回答

2

據我所知,HTTP itself does not have any built-in checksum mechanism和你的建議可以確保數據有效。事情是,HTTP is generally implemented on the Transmission Control Protocol (TCP)。 TCP providesreliable主機之間的通信。

具體來說,TCP本身實現了錯誤檢測(使用checksum),並使用特殊的數字序列來確保數據以發送順序到達。如果發送數據的主機收到接收主機沒有收到數據的信息,它將重新發送。

但是,如果設備上的HTTP實現實際上是在用戶數據報協議(UDP)之上運行的,然而,設備不太可能使用HTTP進行HTTP或至少不可靠的版本(因爲存在Reliable User Datagram Protocol)。

現在,我找不到有關HTTP請求損壞的統計信息或很多信息。根據你認爲的關鍵任務的重要性,把它當作是會發生的。有提到downloading filesthat end upbeing corrupt。雖然這些大多數似乎與ZIP文件有關,但我不認爲這是由於HTTP而是由於其他事情,比如下載和破壞信息的設備本身。

也許在你的情況下,最好是添加你的校驗和,如果絕對至關重要的是你的信息到達一塊。