4. Campi di preferenza di integrità
I mittenti possono indicare il loro interesse per i campi di integrità e le preferenze dell'algoritmo di hashing utilizzando i campi HTTP Want-Content-Digest o Want-Repr-Digest. Questi possono essere utilizzati sia nelle richieste che nelle risposte.
Want-Content-Digest indica che il mittente desidera ricevere (tramite il campo Content-Digest) un digest del contenuto sui messaggi associati all'URI della richiesta e ai metadati di rappresentazione. Want-Repr-Digest indica che il mittente desidera ricevere (tramite il campo Repr-Digest) un digest della rappresentazione sui messaggi associati all'URI della richiesta e ai metadati di rappresentazione.
Se Want-Content-Digest o Want-Repr-Digest vengono utilizzati in una risposta, indica che il server desidera che il client fornisca il rispettivo campo di integrità nelle richieste future.
I campi di preferenza di integrità sono solo un suggerimento. Il destinatario del campo può ignorarlo e inviare un campo di integrità utilizzando qualsiasi algoritmo o omettere completamente il campo; ad esempio, vedere l'Appendice C.2. Non è un errore di protocollo se le preferenze vengono ignorate. Le applicazioni che utilizzano campi di integrità e preferenze di integrità possono definire aspettative o vincoli che operano in aggiunta a questa specifica. Le preferenze ignorate sono una preoccupazione specifica dell'applicazione.
Want-Content-Digest e Want-Repr-Digest sono di tipo Dizionario in cui ciascuno:
-
chiave trasmette l'algoritmo di hashing (vedere la Sezione 5);
-
valore è un numero intero (Sezione 3.3.1 di [STRUCTURED-FIELDS]) che trasmette una preferenza ponderata, relativa e crescente. Deve essere compreso nell'intervallo da 0 a 10 inclusi. 1 è il meno preferito, 10 è il più preferito e un valore di 0 significa "non accettabile".
Esempi:
Want-Repr-Digest: sha-256=1
Want-Repr-Digest: sha-512=3, sha-256=10, unixsum=0
Want-Content-Digest: sha-256=1
Want-Content-Digest: sha-512=3, sha-256=10, unixsum=0