2.1.1. Serializzazione rigorosa dei campi strutturati HTTP (Strict Serialization of HTTP Structured Fields)
2.1.1. Serializzazione rigorosa dei campi strutturati HTTP (Strict Serialization of HTTP Structured Fields)
Se il valore di un campo HTTP è noto all'applicazione come tipo Structured Field (come definito in [STRUCTURED-FIELDS] o le sue estensioni o aggiornamenti) e il tipo atteso del Structured Field è noto, il firmatario PUÒ includere il parametro sf nell'identificatore di componente. Se questo parametro è incluso con un identificatore di componente, il valore del campo HTTP DEVE essere serializzato usando le regole di serializzazione formale specificate nella Sezione 4 di [STRUCTURED-FIELDS] (o la sezione di serializzazione formale applicabile delle sue estensioni o aggiornamenti) applicabili al tipo del campo HTTP. Si noti che questo processo sostituirà qualsiasi spazio bianco interno opzionale con un singolo carattere spazio, tra le altre possibili trasformazioni del valore.
Se nel messaggio compaiono più valori di campo, questi valori DEVONO essere combinati in una singola struttura List o Dictionary prima della serializzazione.
Se l'applicazione non conosce il tipo del campo o non sa come serializzare il tipo del campo, l'uso di questo flag produrrà un errore. Di conseguenza, il firmatario può firmare in modo affidabile campi usando questo flag solo quando anche il sistema del verificatore conosce il tipo.
Ad esempio, il seguente campo Dictionary è una serializzazione valida:
Example-Dict: a=1, b=2;x=1;y=2, c=(a b c)
Se incluso nella base della firma senza parametri, il suo valore sarebbe:
"example-dict": a=1, b=2;x=1;y=2, c=(a b c)
Tuttavia, se si aggiunge il parametro sf, il valore è riserializzato come segue:
"example-dict";sf: a=1, b=2;x=1;y=2, c=(a b c)
La stringa risultante è usata come valore del componente; si veda la Sezione 2.1.