Passa al contenuto principale

Appendice B. Considerazioni operative per i server (Operational Considerations for Servers)

Il frame ORIGIN consente a un server di indicare per quali origini una determinata connessione dovrebbe essere utilizzata. L'insieme di origini pubblicizzate utilizzando questo meccanismo è sotto il controllo del server; i server non sono obbligati a utilizzarlo o a pubblicizzare tutte le origini per le quali potrebbero essere in grado di rispondere a una richiesta.

Ad esempio, può essere utilizzato per informare il client che la connessione deve essere utilizzata solo per l'origine basata su SNI, inviando un frame ORIGIN vuoto. Oppure, un numero maggiore di origini può essere indicato includendo un payload.

Generalmente, queste informazioni sono più utili da inviare prima di inviare qualsiasi parte di una risposta che potrebbe avviare una nuova connessione; ad esempio, campi di intestazione di risposta "Link" [RFC8288], o link nel corpo della risposta.

Pertanto, il frame ORIGIN dovrebbe essere inviato il prima possibile su una connessione, idealmente prima di qualsiasi frame HEADERS o PUSH_PROMISE.

Tuttavia, se è desiderabile associare un gran numero di origini a una connessione, farlo potrebbe introdurre una latenza percepita dall'utente finale, a causa delle loro dimensioni. Di conseguenza, potrebbe essere necessario selezionare un set "centrale" di origini da inviare inizialmente ed espandere il set di origini per cui la connessione viene utilizzata con successivi frame ORIGIN in seguito (ad esempio, quando la connessione è inattiva).

Detto questo, i mittenti sono incoraggiati a includere quante più origini possibili all'interno di un singolo frame ORIGIN; i client devono prendere decisioni sulla creazione di connessioni al volo e, se il Set di Origini è suddiviso in molti frame, il loro comportamento potrebbe essere non ottimale.

I mittenti notino che, come da Sezione 4, Passaggio 5, di [RFC6454], i valori in un'intestazione ORIGIN devono essere normalizzati in termini di maiuscole/minuscole prima della serializzazione.

Infine, i server che ospitano servizi alternativi [RFC7838] dovranno pubblicizzare esplicitamente le loro origini quando inviano ORIGIN, perché il contenuto predefinito del Set di Origini (come da Sezione 2.3) non contiene alcuna origine di servizi alternativi, anche se sono stati utilizzati in precedenza sulla connessione.