2009-04-15 13 views

risposta

53

No, non importa per le intestazioni con nomi diversi. Vedere RFC 2616, paragrafo 4.2:

L'ordine in cui i campi di intestazione con i nomi dei campi differenti sono ricevute non è significativo. Tuttavia, è "buona pratica" inviare prima i campi di intestazione generale , seguiti dai campi di intestazione di richiesta o di risposta- e terminando con i campi di intestazione dell'entità.

Essa importa, tuttavia, per intestazioni multiple con lo stesso nome:

più campi di messaggio-header con lo stesso campo nome può essere presente in un messaggio se e solo se l'intero campo-valore per quel campo di intestazione è definito come un elenco separato da virgole [cioè, # (valori)]. DEVE essere possibile combinare più campi di intestazione in una coppia "nome-campo: campo-valore", senza modificare la semantica del messaggio , aggiungendo ogni successivo valore campo al primo, ciascuno separato da un virgola. L'ordine in cui i campi di intestazione con lo stesso nome di campo vengono ricevuti è quindi significativo per l'interpretazione del valore di campo combinato e pertanto un proxy NON DEVE modificare l'ordine di questi valori di campo quando viene inoltrato un messaggio.

+0

ASP.net utilizza un semplice NameValueCollection per archiviare le intestazioni di risposta. – David

+1

Per più intestazioni con lo stesso nome è importante ANCORA DI PIÙ se non è legale per quell'intestazione apparire più volte, ad es. 'Content-Length': diversi server lo gestiranno in un modo diverso. Per esempio. uno prenderà il primo, uno prenderà l'ultimo, e un altro sarà casualmente indefinito. Quindi, mentre fa la differenza, potrebbe non esserci molto che puoi fare al riguardo. – AviD

+0

(Oh dang, ho appena notato la data in cui hai postato questo ...!: -O Scusa, mi sono appena imbattuto ora ...) – AviD

2

Le intestazioni HTTP sono indipendenti l'una dall'altra ed è possibile utilizzare un dizionario per memorizzarle senza preoccuparsi del loro ordine.

+2

Non valido per più occorrenze della stessa intestazione. – Eddie

0

Potrebbe anche importa quando si specifica set-cookie più volte per lo stesso cookie:

"Set-Cookie: COOKIE1=VALUE1; ... 
"Set-Cookie: COOKIE1=VALUE2; ... 

In questo caso, verranno impostati COOKIE1 a VALUE2, e se l'ordine è cambiato:

"Set-Cookie: COOKIE1=VALUE2; ... 
"Set-Cookie: COOKIE1=VALUE1; ... 

COOKIE1 sarà impostato su VALUE1

Problemi correlati