11

大容量ファイルのアップロード/ダウンロードを主としたREST Webサーバーを作っているので、ファイルの整合性をチェックできるようにしたいです。これを行う適切な方法は、aws の経験によって有用であることが証明されている [1] ように、Content-MD5 HTTP ヘッダー [0] を使用することであると信じていました。

しかし、非常にがっかりしたことに、最近、それが非推奨になっていることを知りました [2]。

非推奨の議論では回避策のヒントが得られなかったので、あなたに尋ねます:

Content-MD5 HTTP ヘッダーを使用することに決めるべきですか?

同じ意味 (md5sum の base64 エンコード) で ETag を使用する必要がありますか?

?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

4

3 に答える 3

1

say という名前のカスタム ヘッダーを追加しますX-YourService-Integrity。これにより、サービス固有のシステムであることが明確になり、将来的に MD5 以外の整合性チェック メカニズム (SHA1 など) を使用できるようになります。また、類似しているが必要なものではない既存のメカニズムを「オーバーロード」する必要がなくなります。

于 2011-11-24T00:41:37.527 に答える
0

Content-MD5 は使用しないでください。矛盾が生じるため、推奨されていません。

sha-256 または sha-512 で Digest を使用します。RFC3230 を最新の HTTP 仕様 (RFC7231) に更新し、多くの有用な例を追加しましたhttps://datatracker.ietf.org/doc/html/draft-ietf-httpbis-digest-headers-02

Digest: sha-256=4REjxQ4yrqUVicfSKYNO/cF9zNj5ANbzgDZt3/h3Qxo=

Want-Digest では、特定の Digest ヘッダーを要求できます。

例えば。クライアントは、sha-256 および sha-512 をサポートするダイジェストを要求します。サーバーは sha-256 で応答します

リクエスト:

GET /items/123 HTTP/1.1
Want-Digest: sha-256, sha-512

応答:

HTTP/1.1 200 OK
Content-Type: application/json
Digest: sha-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=

{"hello": "world"}
于 2020-08-18T10:27:09.453 に答える