字段顺序
收到不同字段名称的字段顺序不重要。但是先发送包含控制数据的头字段是一个良好的实践,例如请求中的Host和响应中的Date,这样当实现不处理一个消息的时候可以尽可能早的做出判断。服务器不得应用一个请求到目标资源上知道整个头部分被接收,因为之后的投资段可能包括条件、认证凭证或故意误导重复的头字段,这些字段可能影响请求处理。
发送者不得在一个消息里生成多个具有相同字段名称的头字段,除非该头字段的整个字段值被定义为逗号分隔列表或已知的例外(如下所述)。
接收者可以将多个具有相同字段名的头字段组合成一个“字段名:字段值”对,而不改变消息的语义,通过依次将每个后续字段值附加到组合字段值,用逗号分隔。因此,接收具有相同字段名称的头部字段的顺序对于组合字段值的解释是重要的; 在转发消息时,代理不能改变这些字段值的顺序。
注意:在实际中,“Set-Cookie”头字段([RFC6265])经常出现在响应消息中多次,并且不使用列表语法,违反了多个具有相同名称的头部字段的上述要求。 由于它不能被合并成一个单一的字段值,接收者在处理头部字段的时候应该把“Set-Cookie”作为特殊情况来处理。 (详见[Kri2001]的附录A.2.3)