2009-04-15 21 views

Respuesta

53

No, no importa para los encabezados con diferentes nombres. Ver RFC 2616, sección 4.2:

El orden en que los campos de cabecera con diferentes nombres de campo se recibida no es significativa. Sin embargo, es una "buena práctica" enviar primero los campos de encabezado general , seguidos por los campos de encabezado request-header o response- , y terminando con los campos de encabezado de entidad.

sí importa, sin embargo, por varias cabeceras con el mismo nombre:

campos de mensaje de encabezado múltiples con el mismo nombre de campo PUEDE ser presente en un mensaje si y sólo si la totalidad field-value para ese campo de encabezado se define como una lista separada por comas [es decir, # (valores)]. DEBE ser posible combinar los múltiples campos de encabezado en un solo "nombre de campo: valor de campo", sin cambiar la semántica del mensaje , agregando cada valor de campo subsiguiente al primero, cada separados por un coma. El orden en que se reciben los campos de encabezado con el mismo nombre de campo es significativo para la interpretación del valor de campo combinado, y por lo tanto un proxy NO DEBE cambiar el orden de estos valores de campo cuando se reenvía un mensaje.

+0

ASP.net utiliza una NameValueCollection simple para almacenar los encabezados de respuesta. – David

+1

Para múltiples encabezados con el mismo nombre, IMPORTA MÁS si no es legal que ese encabezado aparezca varias veces, p. 'Content-Length': diferentes servidores lo manejarán de una manera diferente. P.ej. uno tomará el primero, uno tomará el último y otro será aleatoriamente indefinido. Entonces, si bien hace una diferencia, es posible que no haya mucho que pueda hacer al respecto. – AviD

+0

(¡Oh, dang, acabo de darte cuenta de la fecha en que publicaste esto ...!: -O Lo siento, acabo de cruzarlo ahora ...) – AviD

2

Los encabezados HTTP son independientes entre sí y puede usar un diccionario para almacenarlos sin preocuparse por su orden.

+2

No es cierto para múltiples ocurrencias del mismo encabezado. – Eddie

0

Podría también importa cuando se especifica set-cookie varias veces para la misma cookie:

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

En este caso, se establecerá COOKIE1 a VALUE2, y si la orden se cambia:

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

COOKIE1 se configurará en VALUE1

Cuestiones relacionadas