RFC2326(中文版)(13)
时间:2026-01-16
时间:2026-01-16
RFC2326(中文版)
有定义任何HTTP代码。
4.1 消息类型
见[H4.1]。如下:
RTSP消息由客户端到服务器的请求和由服务器到客户端的回应组成。
RTSP -message = Request | Response ; RTSP /1.0 messages
请求(Request)和回应(Response)消息都使用RFC822中实体传输部分规定(作为消息中的有效载荷)的消息格式。两者的消息都可能包括一起始行,一个或多个标题域(headers)、一行表示标题域结束的空行(即CRLF前没有内容的行),和一个消息主体(message-body,可选)。
generic-message = start-line
*message-header
CRLF
[ message-body ]
start-line = Request-Line | Status-Line
为了健壮性考虑,服务器应该忽略任何在期望收到请求行时收到的空行。换句话说,如果服务器正在读协议流,在一个消息开始时如果首先收到了CRLF,这个CRLF符应被忽略。
4.2 消息标题
见[H4.2]。
RTSP标题域,包括主标题(General-Header,4.3节)、请求标题(Request-Header ,5.2节)、
回应标题(Response-Header ,6.2节)及实体标题(Entity-Header,7.1节),都遵照RFC822-3.1
节[7]给出的通用格式定义。每个标题域由后紧跟冒号的名字,单空格(SP),字符及域值组
成。域名是大小写敏感的。虽然不提倡,标题域还是可以扩展成多行使用,只要这些行以一
个以上的SP或HT开头就行。
RTSP-header = field-name ":" [ field-value ] CRLF
field-name = token
field-value = *( field-content | LWS )
field-content = <the OCTETs make up the field-value
and consisting of either *TEXT or combinations
of token, tspecials, and quoted-string>
标题域接收的顺序并不重要,但良好的习惯是,先发送主标题,然后是请求标题或回应
标题,最后是实体标题。
当且仅当标题域的全部域值都用逗号分隔的列表示时(即,#(值)),多个有相同域名
的RTSP标题域才可以表示在一个消息里。而且必须能在不改变消息语法的前提下,将并发
的域值加到第一个值后面,之间用逗号分隔,最终能将多个标题域结合成“域名:域值”对。
4.3 消息主体
见[H4.3]。
RTSP消息的消息主体(如果有)用来携带请求或回应的主体。仅在使用传输编码(Transfer-Encoding)时消息主体和实体主体才有所不同,这种情况在传输编码标题域中有详细说明。(见[H14.40])
message-body = entity-body
| <entity-body e
ncoded as per Transfer-Encoding>
传输编码必须能解释所有保证传输安全和正确的应用程序的传输编码。传输编码是消息而不是实体的一个属性,因此可以由任一应用程序随着请求/回应链添加或者删除。
什么时候允许消息带消息体的规则在请求和回应两种情况下
下一篇:满忠芝四年级安全教育教案