sip - SIP Content-Type charset,在哪个标准中定义
问题描述
RFC 3261 的第20.15节提到Content-Type
:
Content-Type 头域表示发送给接收者的消息体的媒体类型。“媒体类型”元素在 [H3.7] 中定义。如果正文不为空,则必须存在 Content-Type 标头字段。如果 body 为空,并且存在 Content-Type 头字段,则表明特定类型的 body 长度为零(例如,空的音频文件)。
头域的紧凑形式是 c。
例子:
Content-Type: application/sdp c: text/html; charset=ISO-8859-4
我的问题:在哪里charset
定义,是否有任何预定义的值?
我在 RFC 3261 中找到的所有内容都在第25.1节中将语法形式 (vai ABNF) 定义Content-Type
为:
message-header = (Accept ... / Content-Type ...
Content-Type = ( "Content-Type" / "c" ) HCOLON 媒体类型
media-type = m-type SLASH m-subtype *(SEMI m-parameter)
m-type = 离散型 / 复合型
离散类型=“文本”/“图像”/“音频”/“视频”/“应用程序”/扩展令牌
复合类型=“消息”/“多部分”/扩展令牌
扩展令牌 = ietf 令牌 / x 令牌
ietf 令牌 = 令牌
x-token = "x-" 令牌
m-subtype = 扩展令牌/iana-令牌
iana-token = 令牌
m 参数 = m 属性 EQUAL m 值
m-属性 = 令牌
m 值 = 标记 / 引用字符串
谢谢
解决方案
在 SIP 中,Content-Type 标头被定义为 MIME 类型,因此继承了 MIME 字符集处理。所以理论上你应该选择 IANA 上的注册值:IANA charsets
注册的细节在IANA Charset Registration Procedures
RFC中定义
推荐阅读
- python - How to create mapping of a field of type `Array`?
- android - 如何在android中以编程方式禁用特定SSID的WiFi自动重新连接?
- c - 如何修复 sctp_sendmsg 挂起到无法访问的主机
- excel - Find a match on two excel columns
- python - How to estimate a sub-pixel shift between images with non uniform translation/rotation
- javascript - Is there a way to pass object property in v-for to Vue data?
- c++ - 在这种情况下如何解决?语法错误:缺少 ';' 在'*“节点”之前?
- regex - Google表格公式在单元格中添加不区分大小写的文本+文本
- html - Vertical align corrupts break line
- entity-framework - Ninject 和 WCF Web 服务使实体框架变慢