2011-11-23 13 views
10

Realizzando un server web REST basato principalmente su upload/download di file di grandi dimensioni, voglio essere in grado di verificare l'integrità del file. Credevo che il modo corretto per farlo fosse usare l'intestazione HTTP Content-MD5 [0] come dimostrato dall'esperienza di aws [1].Verifica integrità messaggio con intestazioni HTTP dal momento che Content-MD5 è stato ritirato?

Tuttavia, con mio grande sgomento, di recente ho appreso che era (essere?) Deprecato [2].

La discussione deprecazione non ha dato alcun suggerimento soluzione, quindi vi chiedo:

Devo ancora decidere di utilizzare un'intestazione HTTP Content-MD5?

Devo usare un ETag con lo stesso significato (codifica base64 del md5sum)?

Devo utilizzare un parametro? Md5sum = XXX?

Esiste una soluzione migliore?

Grazie per i vostri approfondimenti.

migliori saluti, 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

risposta

1

aggiungere un header personalizzato, denominato dire X-YourService-Integrity. Ciò rende esplicito che si tratta di un sistema specifico per il servizio e consente di utilizzare meccanismi di controllo dell'integrità diversi da MD5 in futuro (ad esempio, SHA1). Evita anche di dover "sovraccaricare" i meccanismi esistenti che sono simili ma non proprio quello che vuoi.

+0

Grazie per la risposta. – user687718

+0

Grazie per la risposta. Tuttavia, durante il trasferimento è possibile eliminare un'intestazione http personalizzata e non vedo un vantaggio rispetto a ETag che potrebbe essere utilizzato per qualsiasi controllo di integrità poiché l'implementazione del validatore è lasciata aperta dallo standard http://www.w3.org/Protocols /rfc2616/rfc2616-sec13.html#sec13.3.3 – user687718

+0

Perché un'intestazione dovrebbe essere eliminata durante il trasferimento? –

Problemi correlati