Passa al contenuto principale

5. Identificatori di contesto

Il meccanismo per il proxy IP in HTTP definito in questo documento consente a estensioni future di scambiare Datagrammi HTTP che portano semantiche diverse dai payload IP. Alcune di queste estensioni possono aumentare i payload IP con dati aggiuntivi o comprimere i campi dell'intestazione IP, mentre altre possono scambiare dati completamente separati dai payload IP. Per realizzare ciò, tutti i Datagrammi HTTP associati ai flussi di richiesta proxy IP iniziano con un campo ID Contesto (Context ID); vedere Sezione 6.

Gli ID Contesto sono interi a 62 bit (da 0 a 2^62-1). Gli ID Contesto sono codificati come interi a lunghezza variabile; vedere Sezione 16 di QUIC. Il valore ID Contesto 0 è riservato per i payload IP, mentre i valori diversi da zero sono allocati dinamicamente. Gli ID Contesto pari diversi da zero sono allocati dal client, e gli ID Contesto dispari sono allocati dal proxy. Lo spazio dei nomi ID Contesto è legato a una data richiesta HTTP; è possibile che un ID Contesto con lo stesso valore numerico sia allocato simultaneamente in richieste distinte, potenzialmente con semantiche diverse. Gli ID Contesto NON DEVONO essere riallocati all'interno di una data richiesta HTTP ma POSSONO essere allocati in qualsiasi ordine. Le restrizioni di allocazione ID Contesto all'uso di ID Contesto pari e dispari esistono per evitare la necessità di sincronizzazione tra gli endpoint. Tuttavia, una volta che un ID Contesto è stato allocato, tali restrizioni non si applicano all'uso dell'ID Contesto; può essere utilizzato sia dal client che dal proxy IP, indipendentemente da quale endpoint lo ha allocato inizialmente.

La registrazione è l'azione con cui un endpoint informa il suo peer della semantica e del formato di un dato ID Contesto. Questo documento non definisce come avviene la registrazione. Le estensioni future POSSONO utilizzare campi di intestazione HTTP o capsule per registrare gli ID Contesto. A seconda del metodo utilizzato, è possibile che vengano ricevuti datagrammi con ID Contesto che non sono ancora stati registrati. Ad esempio, ciò può essere dovuto al riordino del pacchetto contenente il datagramma e del pacchetto contenente il messaggio di registrazione durante la trasmissione.