2024年3月9日发(作者:)
20 头域
头域的语法描述在7.3节。本节列出了头域的全部列表,包括了语法注释,含义,和用
法。通过本节,我们使用[HX.Y]指当前HTTP/1.1 的RFC2616[8]的规范的X.Y节。每
个头域都有示例给出。
关于与方法和proxy处理有关的头域字段在表2和表3中有处理。
“where”列描述了在头域中能够使用的请求和应答的类型。这列的值是:
R:头域只能在请求中出现;
r:头域只能在应答中出现;
2xx,4xx,等等:一个数字的值区间表示头域能够使用的应答代码。
c:头域是从请求拷贝到应答的。
如果”where”栏目是空白,表示头域可以在所有的请求和应答中出现。
“proxy”列描述了proxy在头域上的操作
a:如果头域不存在,proxy可以增加或者连接头域
m:proxy可以修改现存的头域值
d:proxy可以删除头域值
r:proxy必须能读取这个头域,因此这个头域不能加密。
接下来6个栏目与在某一个方法中出现的头域有关:
c:条件;对头域的要求依赖于消息的内容
m:头域是强制要有的。
m*:头域应当被发送,但是客户端/服务端都需要准备接收没有这个头域的消息。
o:头域是可选的。
t:头域应当被发送,但是客户端/服务端都需要准备接收没有这个头域的消息。
客户端/服务端都需要准备接收没有这个头域的消息。如果通讯的协议是基于面向
流的协议(比如TCP),那么头域值必须被发送。
*:如果消息体不为空,那么头域值就绪要的。(细节请参见20.14,20.15和7.4
节)
-:这个头域是不适用的。
“Optional”意味着这个元素可以在请求或者应答中包含这个头域,并且UA可以忽略在
请求或者应答中存在的这个头域(这条规则有一个例外,就是Require头域,在20.32
节有描述)。”mandatory”(强制)头域是必须在请求中存在的头域,并且也必须是UAS
接收到一个请求时能够理解的头域。一个强制头域必须也在应答中出现,并且UAC也
能处理这个头域。”Not applicable”(不适用)意味着头域不能在请求中出现。如果一个
UAC错误的把这个头域放在请求中,在UAS收到的时候必须被忽略。同样的,如果应
答中的”不适用”的头域,也就是说UAS不能在应答中放置的头域,如果出现了,那么
UAC也必须在应答中忽略掉这个头域。
一个UA必须忽略他们所不能处理的扩展的头参数。
本规范也定义了常用的头域名的缩写,用于缩小消息的大小。
在Contact,From,To头域中都包含一个URI。如果这个URI包含一个逗号,问号或
者分毫,那么这个URI必须使用尖括号括起来(<和>)。所有的URI参数都必须在这些
括号内。如果URI并非用尖括号括起来的,那么用分号分开的参数将被视同与header
参数而不是URI参数。
20.1 Accept
Accept头域的语法定义遵从[H14.1]。除了如果没有Accept头域,服务器应当认为
Accept缺省值是application/sdp以外,语义也是和HTTP/1.1类似的语义。
空的Accept头域意味着不接受任何格式。
发布评论