Passa al contenuto principale

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