2. Il campo Content-Digest
Il campo HTTP Content-Digest può essere utilizzato nelle richieste e nelle risposte per comunicare digest calcolati utilizzando un algoritmo di hashing applicato al contenuto effettivo del messaggio (vedere la Sezione 6.4 di [HTTP]). È un dizionario (vedere la Sezione 3.2 di [STRUCTURED-FIELDS]), in cui ciascuno:
-
chiave trasmette l'algoritmo di hashing (vedere la Sezione 5) utilizzato per calcolare il digest;
-
valore è una sequenza di byte (Sezione 3.3.5 di [STRUCTURED-FIELDS]) che trasmette una versione codificata dell'output di byte prodotto dal calcolo del digest.
Ad esempio:
NOTA: a capo con '' secondo RFC 8792
Content-Digest: \
sha-512=:YMAam51Jz/jOATT6/zvHrLVgOYTGFy1d6GJiOHTohq4yP+pgk4vf2aCs\
yRZOtw8MjkM7iw7yZ/WkppmM44T3qg==:
Il tipo Dizionario può essere utilizzato, ad esempio, per allegare più digest calcolati utilizzando diversi algoritmi di hashing al fine di supportare una popolazione di endpoint con capacità diverse o in evoluzione. Un tale approccio potrebbe supportare le transizioni lontano da algoritmi più deboli (vedere la Sezione 6.6).
NOTA: a capo con '' secondo RFC 8792
Content-Digest: \
sha-256=:d435Qo+nKZ+gLcUHn7GQtQ72hiBVAgqoLsZnZPiTGPk=:,\
sha-512=:YMAam51Jz/jOATT6/zvHrLVgOYTGFy1d6GJiOHTohq4yP+pgk4vf2aCs\
yRZOtw8MjkM7iw7yZ/WkppmM44T3qg==:
Un destinatario PUÒ ignorare uno o tutti i digest. Il comportamento specifico dell'applicazione o la politica locale POSSONO impostare vincoli aggiuntivi sulle pratiche di elaborazione e convalida dei digest trasmessi. Le considerazioni sulla sicurezza coprono alcune delle questioni relative all'ignorare i digest (vedere la Sezione 6.6) e alla convalida di più digest (vedere la Sezione 6.7).
Un mittente PUÒ inviare un digest senza sapere se il destinatario supporta un determinato algoritmo di hashing. Un mittente PUÒ inviare un digest se sa che il destinatario lo ignorerà.
Content-Digest può essere inviato in una sezione trailer. In questo caso, Content-Digest PUÒ essere unito alla sezione intestazione; vedere la Sezione 6.5.1 di [HTTP].