跳到主要内容

12 Header Field Definitions (头字段定义)

12 Header Field Definitions (头字段定义)

HTTP/1.1 [2] 或其他未列于此的非标准头字段目前没有明确定义, 接收方 SHOULD 忽略。

表 3 汇总 RTSP 使用的头字段。类型 "g" 表示请求与响应中均可出现的 general request headers (通用请求头); "R" 表示 request headers (请求头); "r" 表示 response headers (响应头); "e" 表示 entity header fields (实体头字段)。在 "support" 列标为 "req." 的字段, 接收方对特定方法 MUST 实现; 标为 "opt." 的字段为可选。注意并非所有标 "req." 的字段都会在每一此类请求中出现。"req." 仅表示客户端 (对响应头) 与服务器 (对请求头) MUST 实现这些字段。最后一列列出该头字段有意义的方法; 标记 "entity" 指所有返回 message body (消息体) 的方法。在本规范中, DESCRIBE 与 GET_PARAMETER 属此类。

Headertypesupportmethods
AcceptRopt.entity
Accept-EncodingRopt.entity
Accept-LanguageRopt.all
Allowropt.all
AuthorizationRopt.all
BandwidthRopt.all
BlocksizeRopt.all but OPTIONS, TEARDOWN
Cache-Controlgopt.SETUP
ConferenceRopt.SETUP
Connectiongreq.all
Content-Baseeopt.entity
Content-Encodingereq.SET_PARAMETER, DESCRIBE, ANNOUNCE
Content-Languageereq.DESCRIBE, ANNOUNCE
Content-Lengthereq.SET_PARAMETER, ANNOUNCE, entity
Content-Locationeopt.entity
Content-Typeereq.SET_PARAMETER, ANNOUNCE
Content-Typerreq.entity
CSeqgreq.all
Dategopt.all
Expireseopt.DESCRIBE, ANNOUNCE
FromRopt.all
If-Modified-SinceRopt.DESCRIBE, SETUP
Last-Modifiedeopt.entity
Proxy-Authenticateropt.all
Proxy-RequireRreq.all
Publicropt.all
RangeRopt.PLAY, PAUSE, RECORD
Rangeropt.PLAY, PAUSE, RECORD
RefererRopt.all
RequireRreq.all
Retry-Afterropt.all
RTP-Inforreq.PLAY
ScaleRropt.PLAY, RECORD
SessionRrreq.all but SETUP, OPTIONS
Serverropt.all
SpeedRropt.PLAY
TransportRrreq.SETUP
Unsupportedrreq.all
User-AgentRopt.all
Viagopt.all
WWW-Authenticateropt.all

RTSP 头字段概览

12.1 Accept

Accept request-header field (Accept 请求头字段) 可用于指明响应可接受的 presentation description (演示描述) content types (内容类型)。

演示描述的 "level" 参数应在 MIME 类型注册中正式定义, 而非此处。

语法见 [H14.1]。

使用示例: Accept: application/rtsl, application/sdp;level=2

12.2 Accept-Encoding

见 [H14.3]。

12.3 Accept-Language

见 [H14.4]。注意所指语言适用于演示描述及任何 reason phrases (原因短语), 而非媒体内容。

12.4 Allow

Allow response header field (Allow 响应头字段) 列出 request-URI 所标识资源支持的方法。该字段旨在严格告知接收方与该资源关联的有效方法。405 (Method not allowed) 响应中必须包含 Allow 头字段。

使用示例: Allow: SETUP, PLAY, RECORD, SET_PARAMETER

12.5 Authorization

见 [H14.8]。

12.6 Bandwidth

Bandwidth request header field (Bandwidth 请求头字段) 描述客户端可用估计带宽, 表示为正整数, 单位为 bits per second (比特每秒)。RTSP 会话期间客户端可用带宽可能变化, 例如因 modem retraining (调制解调器再训练)。

Bandwidth = "Bandwidth" ":" 1*DIGIT

示例: Bandwidth: 4000

12.7 Blocksize

该请求头字段由客户端发往媒体服务器, 请求特定媒体 packet size (分组大小)。该分组大小不含 IP, UDP 或 RTP 等下层头部。服务器可使用低于请求值的 blocksize (块大小)。服务器 MAY 将该分组大小截断为最小媒体特定块大小的最近倍数, 或在必要时以媒体特定大小覆盖。块大小 MUST 为以 octets (八位组) 计量的正十进制数。仅当值在语法上无效时服务器才返回错误 (416)。

12.8 Cache-Control

Cache-Control general header field (Cache-Control 通用头字段) 用于指定沿请求/响应链的所有 caching mechanisms (缓存机制) MUST 服从的指令。

无论对代理或网关应用是否重要, cache directives (缓存指令) 都必须透传, 因为指令可能适用于链上所有接收方。无法为特定缓存指定某条 cache-directive。

Cache-Control 应仅在 SETUP 请求及其响应中指定。注意: Cache-Control 不像 HTTP 那样管辖响应缓存, 而管辖 SETUP 请求所标识流的缓存。RTSP 请求的响应不可缓存, DESCRIBE 的响应除外。

Cache-Control            =   "Cache-Control" ":" 1#cache-directive
cache-directive = cache-request-directive |
cache-response-directive
cache-request-directive = "no-cache" |
"max-stale" |
"min-fresh" |
"only-if-cached" |
cache-extension
cache-response-directive = "public" |
"private" |
"no-cache" |
"no-transform" |
"must-revalidate" |
"proxy-revalidate" |
"max-age" "=" delta-seconds |
cache-extension
cache-extension = token [ "=" ( token | quoted-string ) ]

no-cache: 表示媒体流 MUST NOT 在任何地方缓存。这使源服务器能阻止缓存, 即使缓存已配置为对客户端请求返回 stale (陈旧) 响应。

public: 表示媒体流可由任意缓存缓存。

private: 表示媒体流面向单个用户, MUST NOT 由 shared cache (共享缓存) 缓存。private (非共享) 缓存可缓存该媒体流。

no-transform: 中间缓存 (代理) 可能希望转换某流媒体类型。例如代理可在视频格式间转换以节省缓存空间或减少慢链路上的流量。但若对面向某些应用的流做此类转换可能引发严重运维问题。例如医学成像, 科学数据分析及使用端到端认证的应用都依赖与原始 entity-body 逐位一致的流。因此, 若响应含 no-transform 指令, 中间缓存或代理 MUST NOT 更改流的 encoding (编码)。与 HTTP 不同, RTSP 此处不提供部分转换, 例如翻译成另一种语言。

only-if-cached: 某些情况下 (如网络连通性极差), 客户端可能希望缓存仅返回当前已存储的媒体流, 而不从源服务器获取。为此客户端可在请求中包含 only-if-cached 指令。若缓存收到该指令, SHOULD 要么使用符合请求其他约束的已缓存媒体流响应, 要么以 504 (Gateway Timeout) 状态响应。但若一组缓存作为内部连通良好的统一系统运行, 此类请求 MAY 在该组缓存内转发。

max-stale: 表示客户端愿意接受已超过过期时间的媒体流。若 max-stale 赋了值, 客户端愿意接受过期时间超出不超过指定秒数的响应。若未赋值, 客户端愿意接受任意陈旧程度的陈旧响应。

min-fresh: 表示客户端愿意接受新鲜寿命不少于当前年龄加上指定秒数的媒体流。即客户端希望响应在至少指定秒内仍保持新鲜。

must-revalidate: 当缓存收到的 SETUP 响应中含 must-revalidate 指令时, 该缓存 MUST NOT 在条目变 stale 后仍不经与源服务器 revalidate (再验证) 就用其响应后续请求。即若仅依据源服务器 Expires 判断缓存响应已陈旧, 缓存每次都必须做端到端再验证。

12.9 Conference

该请求头字段在预先建立的会议与 RTSP 流之间建立逻辑连接。同一 RTSP 会话的 conference-id (会议标识) 不得更改。

Conference = "Conference" ":" conference-id

示例: Conference: [email protected]%20Starr

若 conference-id 无效, 返回响应码 452 (Conference Not Found)。

12.10 Connection

见 [H14.10]。

12.11 Content-Base

见 [H14.11]。

12.12 Content-Encoding

见 [H14.12]。

12.13 Content-Language

见 [H14.13]。

12.14 Content-Length

该字段含方法内容的长度 (即最后一个头部后的双 CRLF 之后)。与 HTTP 不同, 凡携带超出消息头部以外内容的消息 MUST 包含 Content-Length。若缺失, 假定默认值为零。解释遵循 [H14.14]。

12.15 Content-Location

见 [H14.15]。

12.16 Content-Type

见 [H14.18]。注意实践中适合 RTSP 的内容类型可能仅限于演示描述与 parameter-value types (参数值类型)。

12.17 CSeq

CSeq 字段指定 RTSP request-response pair (请求-响应对) 的序列号。该字段 MUST 出现在所有请求与响应中。对每个含给定序列号的 RTSP 请求, 必有同序列号的对应响应。任何重传的请求必须含与原请求相同的序列号 (即同一请求的重传不递增序列号)。

12.18 Date

见 [H14.19]。

12.19 Expires

Expires entity-header field (Expires 实体头字段) 给出日期与时间, 之后描述或媒体流应视为 stale (陈旧)。解释取决于方法:

DESCRIBE 响应: Expires 头部指明之后描述应视为陈旧的日期与时间。

stale cache entry (陈旧缓存条目) 通常不得由缓存 (代理缓存或 user agent cache (用户代理缓存)) 返回, 除非先与源服务器 (或与拥有实体新鲜副本的中间缓存) 验证。过期模型进一步讨论见第 13 节。

存在 Expires 字段并不意味原始资源将在该时刻或之前或之后改变或消失。

格式为 [H3.3] 所定义 HTTP-date 的绝对日期与时间; MUST 为 RFC1123-date 格式:

Expires = "Expires" ":" HTTP-date

使用示例:

Expires: Thu, 01 Dec 1994 16:00:00 GMT

RTSP/1.0 客户端与缓存 MUST 将其他无效日期格式 (尤其包括值 "0") 视为已发生在过去 (即 "已过期")。

要将响应标为 "已过期", 源服务器应使用与 Date 头部值相等的 Expires 日期。要标为 "永不过期", 源服务器应使用约为发送响应时刻起约一年后的 Expires 日期。RTSP/1.0 服务器不应发送距今超过一年的 Expires 日期。

在默认本不可缓存的媒体流上, 若存在带未来某时刻日期值的 Expires 头部字段, 则表示该媒体流可缓存, 除非 Cache-Control 头字段 (第 12.8 节) 另有说明。

12.20 From

见 [H14.22]。

12.21 Host

该 HTTP 请求头字段对 RTSP 不需要。若发送应静默忽略。

12.22 If-Match

见 [H14.25]。

该字段对确保演示描述完整性特别有用: 无论描述是经 RTSP 外部手段 (如 HTTP) 获取, 还是服务器实现保证 DESCRIBE 与 SETUP 之间描述完整性。

identifier (标识符) 为 opaque identifier (不透明标识符), 不绑定于任何特定会话描述语言。

12.23 If-Modified-Since

If-Modified-Since request-header field 与 DESCRIBE 及 SETUP 联用以使其成为条件请求。若所请求的 variant (变体) 自该字段指定时间以来未被修改, 服务器不返回描述 (DESCRIBE) 或不建立流 (SETUP)。而是返回无 message-body 的 304 (not modified) 响应。

If-Modified-Since = "If-Modified-Since" ":" HTTP-date

字段示例:

If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT

12.24 Last-Modified

Last-Modified entity-header field 指明源服务器认为演示描述或媒体流最后修改的日期与时间。见 [H14.29]。对 DESCRIBE 或 ANNOUNCE, 该头字段表示描述的最后修改日期与时间; 对 SETUP 表示媒体流的。

12.25 Location

见 [H14.30]。

12.26 Proxy-Authenticate

见 [H14.33]。

12.27 Proxy-Require

Proxy-Require 头部用于指明代理 MUST 支持的 proxy-sensitive features (代理敏感特性)。代理不支持的任何 Proxy-Require 特性 MUST 在不支持时向客户端作出否定确认。服务器

应将该字段与 Require 字段同等对待。

本消息机制及使用示例的更多细节见第 12.32 节。

12.28 Public

见 [H14.35]。

12.29 Range

该请求与响应头字段指定一段时间范围。范围可用多种单位表示。本规范定义 smpte (第 3.5 节), npt (第 3.6 节) 与 clock (第 3.7 节) 范围单位。在 RTSP 内, byte ranges (字节范围) [H14.36.1] 无意义且 MUST NOT 使用。头部还可含 UTC time 参数, 指定操作生效时刻。支持 Range 头部的服务器 MUST 理解 NPT 范围格式, SHOULD 理解 SMPTE 范围格式。Range 响应头指明实际播放或录制的时间范围。若以无法理解的时间格式给出 Range 头部, 接收方应返回 "501 Not Implemented"。

范围为 half-open intervals (半开区间), 含下端点不含上端点。即范围 a–b 恰在时间 a 开始, 在 b 之前结束。仅 media unit (媒体单元) (如视频或音频帧) 的开始时刻相关。例: 假设视频帧每 40 ms 生成一帧。范围 10.0–10.1 含 10.0 或更晚开始的视频帧, 也含 10.08 开始的帧, 即使该帧延续超出区间。范围 10.0–10.08 则排除 10.08 开始的帧。

Range            = "Range" ":" 1#ranges-specifier [ ";" "time" "=" utc-time ]
ranges-specifier = npt-range | utc-range | smpte-range

示例: Range: clock=19960213T143205Z-;time=19970123T143720Z

记号类似于 HTTP/1.1 [2] byte-range 头部。允许客户端从媒体对象选取片段, 从某点播放到结尾, 以及从当前位置播放到某点。回放开始可安排在将来任意时刻, 尽管服务器可拒绝为长时间空闲保留服务器资源。

12.30 Referer

见 [H14.37]。URL 指演示描述的 URL, 通常经 HTTP 获取。

12.31 Retry-After

见 [H14.38]。

12.32 Require

Require 头部供客户端查询服务器是否支持某些选项。服务器 MUST 使用 Unsupported 头部对不受支持的选项予以否定确认。

这确保当双方理解所有选项时客户端-服务器交互可无延迟进行, 仅在不理解选项时变慢 (如上例)。对匹配的客户端-服务器对, 交互快速进行, 省去协商机制常需的一趟往返。此外, 当客户端需要服务器不理解的特性时, 也消除状态歧义。

Require = "Require" ":" 1#option-tag

示例: C->S: SETUP rtsp://server.com/foo/bar/baz.rm RTSP/1.0 CSeq: 302 Require: funky-feature Funky-Parameter: funkystuff

S->C: RTSP/1.0 551 Option not supported CSeq: 302 Unsupported: funky-feature

C->S: SETUP rtsp://server.com/foo/bar/baz.rm RTSP/1.0 CSeq: 303

S->C: RTSP/1.0 200 OK CSeq: 303

本例中 "funky-feature" 为 feature tag (特性标签), 向客户端表明需要虚构的 Funky-Parameter 字段。"funky-feature" 与 Funky-Parameter 的关系不经 RTSP 交换传达, 因该关系是 "funky-feature" 的不变属性, 不应随每次交换传输。

代理及其他中间设备 SHOULD 忽略本字段中不理解的特性。若某扩展要求中间设备必须支持, 扩展应改在 Proxy-Require 字段中标记 (见第 12.27 节)。

12.33 RTP-Info

该字段用于在 PLAY 响应中设置 RTP 特定参数。

url: 指明以下 RTP 参数对应的 stream URL (流 URL)。

seq: 指明流第一个分组的 sequence number (序列号)。使客户端在 seek (定位) 时能妥善处理分组。客户端用该值区分 seek 前后产生的分组。

rtptime: 指明与 Range 响应头中时间值对应的 RTP timestamp (RTP 时间戳)。 (注意: 对 aggregate control (聚合控制), 某流对返回或隐含的范围时间值可能实际不产生分组。因此不保证 seq 所指序列号的分组确具 rtptime 所指时间戳。) 客户端用该值计算 RTP 时间到 NPT 的映射。

RTP 时间戳到 NTP 时间戳 (挂钟) 的映射可通过 RTCP 获得。但该信息不足以生成 RTP 到 NPT 的映射。此外, 为确保在必要时刻 (启动瞬间或 seek 后) 可靠获得该信息, 该映射放在 RTSP 控制信道上。

为补偿长时间连续演示的 drift (漂移), RTSP 客户端还应额外将 NPT 映射到 NTP, 用初始 RTCP sender reports (发送端报告) 建立映射, 用后续报告对照映射检查漂移。

语法:

RTP-Info        = "RTP-Info" ":" 1#stream-url 1*parameter
stream-url = "url" "=" url
parameter = ";" "seq" "=" 1*DIGIT | ";" "rtptime" "=" 1*DIGIT

示例:

RTP-Info: url=rtsp://foo.com/bar.avi/streamid=0;seq=45102, url=rtsp://foo.com/bar.avi/streamid=1;seq=30211

12.34 Scale

scale 值 1 表示以正常正向观看速率正常播放或录制。若非 1, 该值相对于正常观看速率。例如比率 2 表示两倍正常速率 ("快进"), 0.5 表示一半速率。即比率 2 使 normal play time 以两倍挂钟速率递增。每经过一秒挂钟时间, 投递两秒内容。负值表示反向。

除非 Speed 参数另有请求, 数据率 SHOULD NOT 改变。scale 变更的实现取决于服务器与媒体类型。对视频, 服务器可仅投递关键帧或选定关键帧。对音频, 可 time-scale 音频并保持音调, 或较差地投递音频片段。

服务器应尽力逼近观看速率, 但可限制支持的 scale 值范围。响应 MUST 含服务器选定的实际 scale 值。

若请求含 Range 参数, 新 scale 值将在该时刻生效。

Scale = "Scale" ":" [ "-" ] 1*DIGIT [ "." *DIGIT ]

以正常速率 3.5 倍反向播放示例:

Scale: -3.5

12.35 Speed

该请求头字段参数请求服务器以特定速率向客户端投递数据, 取决于服务器能力与是否愿意以该速率服务媒体流。服务器实现为 OPTIONAL (可选)。默认值为流的 bit rate (比特率)。

参数值为十进制比率, 例如 2.0 表示以正常两倍速率投递数据。速率为零无效。若请求含 Range 参数, 新 speed 值将在该时刻生效。

Speed = "Speed" ":" 1*DIGIT [ "." *DIGIT ]

示例: Speed: 2.5

使用该字段会改变数据投递所用带宽。适用于需要以更高或更低速率预览演示的特定情形。实现者应记住会话带宽可能事先 (经 RTSP 以外方式) 协商, 因此可能需要重新协商。数据经 UDP 投递时, 强烈建议采用 RTCP 等手段跟踪 packet loss rates (丢包率)。

12.36 Server

见 [H14.39]。

12.37 Session

该请求与响应头字段标识媒体服务器在 SETUP 响应中启动并由对 presentation URL 的 TEARDOWN 结束的 RTSP 会话。session identifier (会话标识符) 由媒体服务器选择 (见第 3.4 节)。客户端一旦收到 Session 标识符, MUST 在与该会话相关的任何请求中回传。若服务器有其他识别会话的手段 (如动态生成的 URL), 不必建立会话标识符。

Session = "Session" ":" session-id [ ";" "timeout" "=" delta-seconds ]

timeout 参数仅允许出现在响应头中。服务器用它告知客户端, 在因无活动关闭会话前愿意在 RTSP 命令之间等待多久 (见附录 A)。超时以秒计量, 默认 60 秒 (1 分钟)。

注意会话标识符在 transport sessions (传输会话) 或连接之间标识 RTSP 会话。多个 RTSP URL 的控制消息可在单个 RTSP 会话内发送。因此只要所有流来自同一服务器, 客户端可用同一会话控制构成演示的多条流 (见第 14 节示例)。但同一客户端对同一 URL 的多个 "user" sessions (用户会话) MUST 使用不同会话标识符。

会话标识符用于区分来自同一客户端对同一 URL 的多个投递请求。

若会话标识符无效, 返回响应 454 (Session Not Found)。

12.38 Timestamp

Timestamp general header (Timestamp 通用头) 描述客户端向服务器发送请求的时刻。时间戳值仅对客户端有意义, 可使用任意时间刻度。服务器 MUST 原样回显相同值, MAY 在掌握准确信息时附加浮点数, 表示自收到请求以来经过的秒数。客户端用时间戳计算到服务器的 round-trip time (往返时间) 以调整重传超时值。

Timestamp  = "Timestamp" ":" *(DIGIT) [ "." *(DIGIT) ] [ delay ]
delay = *(DIGIT) [ "." *(DIGIT) ]

12.39 Transport

该请求头指明要使用的 transport protocol (传输协议) 并配置其参数, 如 destination address (目的地址), compression (压缩), multicast time-to-live (组播生存时间) 及单条流的 destination port (目的端口)。它设置演示描述尚未确定的那些值。

Transports 以逗号分隔, 按偏好顺序列出。可向各 transport 追加以分号分隔的参数。

Transport 头部 MAY 也用于更改某些传输参数。服务器 MAY 拒绝更改已有流的参数。

服务器 MAY 在响应中返回 Transport 响应头以指明实际选定值。

Transport 请求头字段可含客户端可接受的传输选项列表。此时服务器 MUST 返回实际选定的单一选项。

transport specifier (传输说明符) 语法为

transport/profile/lower-transport。

"lower-transport" 的默认值取决于 profile。对 RTP/AVP, 默认为 UDP。

以下为与 transport 关联的配置参数:

General parameters (通用参数):

unicast | multicast: 互斥指示尝试单播还是组播投递。默认值为 multicast。能同时处理单播与组播的客户端 MUST 通过包含两条带各自参数的完整 transport-spec 来表明能力。

destination: 流将发送到的地址。客户端可用 destination 参数指定组播地址。为避免在不知情下成为 remote-controlled denial-of-service attack (远程控制拒绝服务攻击) 的实施者, 服务器 SHOULD 对客户端认证并 SHOULD 在允许客户端将媒体流定向到非服务器所选地址前记录此类尝试。若 RTSP 命令经 UDP 发出则尤其重要, 但实现不能单靠 TCP 作为可靠的客户端识别手段。服务器 SHOULD NOT 允许客户端将媒体流定向到与命令来源不同的地址。

source: 若流的 source address (源地址) 无法从 RTSP endpoint address (RTSP 端点地址) (播放时为服务器, 录制时为客户端) 推导, MAY 指定 source。

该信息也可经 SDP 获得。但因这更属传输特性而非媒体初始化, 权威信息应在 SETUP 响应中。

layers: 该媒体流使用的组播层数。各层发往从 destination address 开始的连续地址。

mode: mode 参数指明本会话应支持的方法。有效值为 PLAY 与 RECORD。若未提供, 默认为 PLAY。

append: 若 mode 含 RECORD, append 参数表示媒体数据应追加到现有资源而非覆盖。若请求追加而服务器不支持, MUST 拒绝请求而非覆盖 URI 标识的资源。若 mode 不含 RECORD, 忽略 append 参数。

interleaved: interleaved 参数表示按控制流所用协议将媒体流与控制流混合, 机制见第 10.12 节。参数给出 $ 语句使用的 channel number (信道号)。传输选择需要时可指定为范围, 例如 interleaved=4-5。

这使 RTP/RTCP 可类似 UDP 方式处理, 即一条信道给 RTP, 另一条给 RTCP。

Multicast specific (组播专用):

ttl: multicast time-to-live (组播生存时间)

RTP Specific (RTP 专用):

port: 为组播会话提供 RTP/RTCP 端口对。指定为范围, 例如 port=3456-3457。

client_port: 提供客户端选择接收媒体数据与控制信息的 unicast RTP/RTCP 端口对。指定为范围, 例如 client_port=3456-3457。

server_port: 提供服务器选择接收媒体数据与控制信息的 unicast RTP/RTCP 端口对。指定为范围, 例如 server_port=3456-3457。

ssrc: ssrc 参数指明媒体服务器应使用 (请求) 或将使用 (响应) 的 RTP SSRC [24, Sec. 3] 值。仅对 unicast transmission (单播传输) 有效。标识要与媒体流关联的 synchronization source (同步源)。

Transport           =    "Transport" ":" 1#transport-spec
transport-spec = transport-protocol/profile[/lower-transport] *parameter
transport-protocol = "RTP"
profile = "AVP"
lower-transport = "TCP" | "UDP"
parameter = ( "unicast" | "multicast" ) |
";" "destination" [ "=" address ] |
";" "interleaved" "=" channel [ "-" channel ] |
";" "append" |
";" "ttl" "=" ttl |
";" "layers" "=" 1*DIGIT |
";" "port" "=" port [ "-" port ] |
";" "client_port" "=" port [ "-" port ] |
";" "server_port" "=" port [ "-" port ] |
";" "ssrc" "=" ssrc |
";" "mode" "=" "\"" 1#Method "\"" | Method
ttl = 1*3(DIGIT)
port = 1*5(DIGIT)
ssrc = 8*8(HEX)
channel = 1*3(DIGIT)
address = host

示例: Transport: RTP/AVP;multicast;ttl=127;mode="PLAY", RTP/AVP;unicast;client_port=3456-3457;mode="PLAY"

Transport 头部限于描述单条 RTP 流。 (RTSP 也可将多条流作为单一实体控制。) 将其纳入 RTSP 而非依赖大量会话描述格式可大大简化防火墙设计。

12.40 Unsupported

Unsupported 响应头列出服务器不支持的特性。若特性通过 Proxy-Require 字段 (第 12.32 节) 指定, 且客户端与服务器路径上存在代理, 代理 MUST 插入含错误消息 "551 Option Not Supported" 的应答。

使用示例见第 12.32 节。

12.41 User-Agent

见 [H14.42]。

12.42 Vary

见 [H14.43]。

12.43 Via

见 [H14.44]。

12.44 WWW-Authenticate

见 [H14.46]。