2011-11-23 111 views
10

製作一個主要基於大文件上傳/下載的REST Web服務器,我希望能夠檢查文件的完整性。我相信正確的做法是使用Content-MD5 HTTP header [0],這在aws experience [1]中很有用。然而,令我非常沮喪的是,我最近得知它(被?)棄用[2]。由於Content-MD5已被棄用,消息完整性使用HTTP標頭進行檢查?

棄用討論沒有給出任何解決方法的提示,所以我問你:

如果我還是決定使用一個Content-MD5 HTTP頭?

我是否應該使用具有相同含義的ETag(base64編碼的md5sum)?

我應該使用?md5sum = XXX參數嗎?

有沒有更好的解決方案?

感謝您的見解。

此致 B.

[0] https://webmasters.stackexchange.com/questions/2924/

[1] http://developer.amazonwebservices.com/connect/thread.jspa?threadID=22709

[2] http://trac.tools.ietf.org/wg/httpbis/trac/ticket/178

回答

1

添加自定義標題,稱爲說X-YourService-Integrity。這使得它明確表示它是一個特定於您的服務的系統,並且允許您將來使用除MD5之外的完整性檢查機制(例如SHA1)。它也避免了你必須「重載」現有的相似但不是你想要的機制。

+0

謝謝你的回答。 – user687718

+0

謝謝你的回答。但是,在傳輸過程中可以刪除自定義的http頭,並且我看不出ETag可以用於任何完整性檢查的優勢,因爲驗證器實現由標準http://www.w3.org/Protocols保持打開/rfc2616/rfc2616-sec13.html#sec13.3.3 – user687718

+0

爲什麼在傳輸過程中會丟棄標題? –