`
jinnianshilongnian
  • 浏览: 21513957 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2420533
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3010264
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5640610
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:260231
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597955
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250372
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5860620
Group-logo
跟我学Nginx+Lua开...
浏览量:702889
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785761
社区版块
存档分类
最新评论

11. IANA考虑——WebSocket协议翻译

 
阅读更多

11.1.注册新的URI模式

11.1.1.注册“ws“模式

一个|ws| URI标识一个WebSocket服务器和资源名称。

URI模式名称

    ws

状态

    永久的

URI模式语法

    使用ABNF[RFC5234]语法和URI规范[RFC3986]的ABNF终结符:

        "ws:" "//" authority path-abempty [ "?" query ]

    和 [RFC3986]组件形成的资源名发生给服务器来确定服务期望的类型。其他组件的含义描述在[RFC3986]。

模式语义

    这个模式的作用仅是使用WebSocket协议打开一个连接。

编码考虑

    上边定义的语法不包括host组件中的字符,必须按照[RFC3987]从Unicode转换为ASCII或其替换。为了模式标准化的目的,国际化域名(IDN)形式的host组件和它们转换的域名代码(Punycode)被认为是等价的(参考[RFC3987] 5.3.3节)。

    上边定义的语法不包括其他组件中的字符,必须按照定义在URI[RFC3986] 和国际化资源标识符(IRI)[RFC3987]规范从Unicode编码转换为ASCII,通过首先编码字符为UTF-8,接着使用它们百分数编码的形式替换相应的字节。

应用/协议使用这个URI模式命名

    WebSokcet协议

互操作性考虑

    使用WebSocket需要使用HTTP版本1.1或更高。

    安全考虑

    参考“安全考虑”章节。

    联系方式

    HYBI WG hybi@ietf.org

    作者/变更管理员

    IETF iesg@ietf.org

    参考资源

    RFC 6455

11.1.2.注册”wss“模式

一个|wss| URI标识一个WebSocket服务器和资源名称,并表明在受TLS保护的连接之上通信(包括标准的TLS的好处,比如数据保密性和完整性和端点认证)。

URI模式名称

    wss

状态

    永久的

URI模式语法

    使用ABNF[RFC5234]语法和URI规范[RFC3986]的ABNF终结符:

         "wss:" "//" authority path-abempty [ "?" query ]

    和 [RFC3986]组件形成的资源名发生给服务器来确定服务期望的类型。其他组件的含义描述在[RFC3986]。

URI模式语义

    这个模式的作用仅是使用WebSocket协议打开一个使用TLS的连接。

编码考虑

    上边定义的语法不包括host组件中的字符,必须按照[RFC3987]从Unicode转换为ASCII或其替换。为了模式标准化的目的,国际化域名(IDN)形式的host组件和它们转换的域名代码(Punycode)被认为是等价的(参考[RFC3987] 5.3.3节)。

    上边定义的语法不包括其他组件中的字符,必须按照定义在URI[RFC3986] 和国际化资源标识符(IRI)[RFC3987]规范从Unicode编码转换为ASCII,通过首先编码字符为UTF-8,接着使用它们百分数编码的形式替换相应的字节。

应用/协议使用这个URI模式命名

    TLS之上的WebSokcet协议

互操作性考虑

    使用WebSocket需要使用HTTP版本1.1或更高。

安全考虑

    参考“安全考虑”章节。

联系方式

    HYBI WG hybi@ietf.org

作者/变更管理员

    IETF iesg@ietf.org

参考资源

    RFC 6455

11.2.注册”WebSocket“ HTTP Upgrade关键字

本节按照RFC2817[RFC2817]定义了在HTTP Upgrade符号注册中心中注册一个关键字。

符号名称

    WebSocket

作者/变更管理员

    IETF iesg@ietf.org

参考资源

    RFC 6455

11.3.注册新的HTTP头字段

11.3.1. Sec-WebSocket-Key

本节描述了在永久消息头字段命名注册中心[RFC3864]中注册一个头字段。

头字段名

    Sec-WebSocket-Key

适用协议

    http

状态

    标准的

作者/变更管理员

    IETF

参考资源

    RFC 6455

相关信息

    该头字段仅用于WebSocket打开阶段握手。

|Sec-WebSocket-Key| 头字段用于WebSocket打开阶段握手。它从客户端发送到服务器,提供部分信息用于服务器检验它收到了一个有效的WebSocket握手。这有助于确保服务器不接收正被滥用来发送数据给毫不知情的WebSocket服务器的非WebSocket客户端的连接(例如HTTP客户端)。

|Sec-WebSocket-Key| 头字段在一个HTTP请求中不能出现多于一个。

11.3.2. Sec-WebSocket-Extensions

本节描述了在永久消息头字段命名注册中心[RFC3864]中注册一个头字段。

头字段名

    Sec-WebSocket-Extensions

适用协议

    http

状态

    标准的

作者/变更管理员

    IETF

参考资源

    RFC 6455

相关信息

    该头字段仅用于WebSocket打开阶段握手。

|Sec-WebSocket-Extensions|头字段用于WebSocket打开阶段握手。它最初是从客户端发送到服务器,随后从服务器端发送到客户端,用来达成在整个连接阶段的一组协议级扩展。

|Sec-WebSocket-Extensions|头字段在HTTP请求中可以出现多次(逻辑上等价于单个|Sec-WebSocket-Extensions|头字段包含所有值)。

但是,|Sec-WebSocket-Extensions|头字段在一个HTTP响应中必须不出现多于一次。

11.3.3. Sec-WebSocket-Accept

本节描述了在永久消息头字段命名注册中心[RFC3864]中注册一个头字段。

头字段名

    Sec-WebSocket-Accept

适用协议

    http

状态

    标准的

作者/变更管理员

    IETF

参考资源

    RFC 6455

规范文档

    RFC 6455

相关信息

    该头字段仅用于WebSocket打开阶段握手。

| Sec-WebSocket-Accept|头字段用于WebSocket打开阶段握手。它从服务器发送到客户端来确定服务器愿意启动WebSocket连接。

|Sec-WebSocket-Accept| 头在一个HTTP响应中必须不出现多于一次。

11.3.4. Sec-WebSocket-Protocol

本节描述了在永久消息头字段命名注册中心[RFC3864]中注册一个头字段。

头字段名

    Sec-WebSocket-Protocol

适用协议

    http

状态

    标准的

作者/变更管理员

    IETF

参考资源

    RFC 6455

规范文档

    RFC 6455

相关信息

    该头字段仅用于WebSocket打开阶段握手。

|Sec-WebSocket-Protocol|头字段用于WebSocket打开阶段握手。它从客户端发送到服务器端,并从服务器端发回到客户端来确定连接的子协议。这使脚本可以选择一个子协议和确定服务器同意服务子协议。

|Sec-WebSocket-Protocol|头字段在一个HTTP请求中可以出现多次(逻辑上等价于单个|Sec-WebSocket-Protocol|头字段包含所有值)。

但是,|Sec-WebSocket-Protocol|头字段在一个HTTP响应中必须不出现多于一次。

11.3.5.Sec-WebSocket-Version

本节描述了在永久消息头字段命名注册中心[RFC3864]中注册一个头字段。

头字段名

    Sec-WebSocket-Version

适用协议

    http

状态

    标准的

作者/变更管理员

    IETF

参考资源

    RFC 6455

规范文档

    RFC 6455

相关信息

    该头字段仅用于WebSocket打开阶段握手。

|Sec-WebSocket- Version |头字段用于WebSocket打开阶段握手。它从客户端发送到服务器端来指定连接的协议版本。这能使服务器正确解释打开阶段握手和发送数据的随后数据,如果服务器不能以安全的方式解释数据则关闭连接。当从客户端接收到不匹配服务器端理解的版本时,WebSocket握手错误,|Sec-WebSocket-Version|头字段也从服务器端发送到客户端。在这种情况下,头字段包括服务器端支持的协议版本。

注意,如果没有期望更高版本号,必然是向下兼容低版本号。

|Sec-WebSocket-Version|头字段在一个HTTP响应中可以出现多次(逻辑上等价于单个|Sec-WebSocket-Version|透过自动包含所有值)。

但是,|Sec-WebSocket-Version|头字段在HTTP请求中必须不出现多于一次。

11.4.WebSocket扩展名注册

本规范依据RFC5226[RFC5226]陈述的原则,创建了一个新的IANA注册用于与WebSocket协议一起使用的WebSocket扩展名。

作为本注册的一部分,IANA维护以下信息:

扩展标识符

    扩展标识符, 将被用在注册到本规范11.3.2节的| Sec-WebSocket-Extensions|头字段。其值必须符合定义在本规范9.1节的扩展-符号要求。

扩展通用名称

    扩展名称,通常称为扩展。

扩展定义

    在扩展用于的WebSocket协议中定义了文档参考。

已知的不兼容扩展

    与此扩展是不兼容的一个扩展标识符列表。

WebSocket扩展名受制于“先来先服务”的IANA注册策略 [RFC5226]。

在此注册中心没有初始值。

11.5.WebSocket子协议名注册

本规范依据RFC5226[RFC5226]陈述的原则,创建了一个新的IANA注册用于与WebSocket协议一起使用的WebSocket子协议名。

作为本注册的一部分,IANA维护以下信息:

子协议标识符     子协议标识符, 将被用在注册到本规范11.3.4节的|Sec-WebSocket-Protocol|头字段。其值必须符合定义在本规范4.1节给出的第10条的符号要求——也就是,其值必须是RFC5226 [RFC5226].定义的一个符号。

子协议通用名称

    子协议名称,通常成为子协议。

子协议定义

    在子协议用于的WebSocket协议中定义了文档参考。

WebSocket子协议名受制于“先来先服务”的IANA注册策略 [RFC5226]。

11.6.WebSocket版本号注册

本规范依据RFC5226[RFC5226]陈述的原则,创建了一个新的IANA注册用于与WebSocket协议一起使用的WebSocket版本号。

作为本注册的一部分,IANA维护以下信息:

版本号

    用于|Sec-WebSocket-Version|的版本号指定在本规范4.1节。其值必须是一个在0到255(包括)之间的非负整数。

参考

    RFC请求一个新的版本号或带版本号的草案名称(见下文)。

状态

    “临时的”或“标准的”。参考下面的说明。

一个版本号被指定为“临时的”或“标准的”。

“标准的”版本号是记录在一个RFC中并用来识别一个主要的、稳定的WebSocket协议版本,例如本RFC定义的版本。“标准的”版本号受制于“IETF评审”IANA注册策略 [RFC5226]。

“Interim”的版本号记录在一个Internet草案中用并用于帮助实现者识别和与部署的WebSocket版本互操作,例如在公布这个RFC之前指定的版本。“临时的”版本号受制于“专家评审”IANA注册策略 [RFC5226],HYBI工作组主 席(或,如果工作组关闭了,IETF应用区域的区域董事)将是初始的指定专家。

IANA 已经添加如下初始值到注册中心:

+--------+-----------------------------------------+----------+
|Version |                Reference                |  Status  |
| Number |                                         |          |
+--------+-----------------------------------------+----------+
| 0      + draft-ietf-hybi-thewebsocketprotocol-00 | Interim  |
+--------+-----------------------------------------+----------+
| 1      + draft-ietf-hybi-thewebsocketprotocol-01 | Interim  |
+--------+-----------------------------------------+----------+
| 2      + draft-ietf-hybi-thewebsocketprotocol-02 | Interim  |
+--------+-----------------------------------------+----------+
| 3      + draft-ietf-hybi-thewebsocketprotocol-03 | Interim  |
+--------+-----------------------------------------+----------+
| 4      + draft-ietf-hybi-thewebsocketprotocol-04 | Interim  |
+--------+-----------------------------------------+----------+
| 5      + draft-ietf-hybi-thewebsocketprotocol-05 | Interim  |
+--------+-----------------------------------------+----------+
| 6      + draft-ietf-hybi-thewebsocketprotocol-06 | Interim  |
+--------+-----------------------------------------+----------+
| 7      + draft-ietf-hybi-thewebsocketprotocol-07 | Interim  |
+--------+-----------------------------------------+----------+
| 8      + draft-ietf-hybi-thewebsocketprotocol-08 | Interim  |
+--------+-----------------------------------------+----------+
| 9      +                Reserved                 |          |
+--------+-----------------------------------------+----------+
| 10     +                Reserved                 |          |
+--------+-----------------------------------------+----------+
| 11     +                Reserved                 |          |
+--------+-----------------------------------------+----------+
| 12     +                Reserved                 |          |
+--------+-----------------------------------------+----------+
| 13     +                RFC 6455                 | Standard |
+--------+-----------------------------------------+----------+

11.7.WebSocket关闭代码注册

本规范依据RFC5226[RFC5226]陈述的原则,创建了一个新的IANA注册用于WebSocket关闭代码。

作为本注册的一部分,IANA维护以下信息:

状态码     状态码表示一个按照本文档7.4节的WebSocket连接关闭的原因。状态是一个在1000到4999(包括)之间的一个整数数字。

含义

    状态码的含义。每一个状态码都必须有唯一的含义。

联系方式

    保留状态代码实体的联系方式。

参考

    稳定的文档要求状态码并定义它们的含义。在1000-2999范围内的状态码是必须的且推荐的状态码在3000-3999范围内。

WebSocket关闭代码根据它们的范围受不同的注册要求。本协议请求使用的状态码和其后续版本或扩展受制于“标准功能”、“规定要求”(这意味着“指定专家”)或“IESG审查”IANA注册策略中的任何一个,且应该允许在1000-2999范围内。库、框架和应用请求使用的状态码受制于“先来先服务”IANA注册策略且应该允许在3000-3999范围内。4000-4999范围的状态码被指定用于私有使用。请求应该指出他们要求的状态码是用于WebSocket协议(或未来版本的协议)、扩展,或库/框架/应用。

IANA 已经添加如下初始值到注册中心:

 |Status Code | Meaning         | Contact       | Reference |
-+------------+-----------------+---------------+-----------|
 | 1000       | Normal Closure  | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1001       | Going Away      | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1002       | Protocol error  | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1003       | Unsupported Data| hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1004       | ---Reserved---- | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1005       | No Status Rcvd  | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1006       | Abnormal Closure| hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1007       | Invalid frame   | hybi@ietf.org | RFC 6455  |
 |            | payload data    |               |           |
-+------------+-----------------+---------------+-----------|
 | 1008       | Policy Violation| hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1009       | Message Too Big | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1010       | Mandatory Ext.  | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|
 | 1011       | Internal Server | hybi@ietf.org | RFC 6455  |
 |            | Error           |               |           |
-+------------+-----------------+---------------+-----------|
 | 1015       | TLS handshake   | hybi@ietf.org | RFC 6455  |
-+------------+-----------------+---------------+-----------|

11.8.WebSocket操作码注册

本规范依据RFC5226[RFC5226]陈述的原则,创建一个新的IANA注册用于WebSocket操作码。

作为本注册的一部分,IANA维护以下信息:

操作码     操作码表示WebSocket帧的帧类型,定义在5.2节。操作码是一个在0到15(包括)之间的整数数字。

含义

    状态码值的含义。

参考

    规范要求的操作码。

WebSocket状态码受制于“标准功能”IANA注册策略[RFC5226]。

IANA 已经添加如下初始值到注册中心:

 |Opcode  | Meaning                             | Reference |
-+--------+-------------------------------------+-----------|
 | 0      | Continuation Frame                  | RFC 6455  |
-+--------+-------------------------------------+-----------|
 | 1      | Text Frame                          | RFC 6455  |
-+--------+-------------------------------------+-----------|
 | 2      | Binary Frame                        | RFC 6455  |
-+--------+-------------------------------------+-----------|
 | 8      | Connection Close Frame              | RFC 6455  |
-+--------+-------------------------------------+-----------|
 | 9      | Ping Frame                          | RFC 6455  |
-+--------+-------------------------------------+-----------|
 | 10     | Pong Frame                          | RFC 6455  |
-+--------+-------------------------------------+-----------|

11.9.WebSocket帧头位注册

本规范依据RFC5226[RFC5226]陈述的原则,创建了一个新的IANA注册用于WebSocket帧头位(Framing Header Bits)。此注册控制的位分配标记为5.2节的RSV1、RSV2和RSV3。

这些位被保留用于未来版本或本规范的扩展。

WebSocket帧头位分配受制于“标准功能”IANA注册测策略[RFC5226]。

2
2
分享到:
评论
1 楼 jacking124 2013-07-26  
支持你!张sir!

相关推荐

    WebSocket协议中文版

    11. IANA注意事项:文档中提到了与互联网号码分配机构(IANA)相关的一些事项,比如WebSocket协议中使用的端口号分配。 12. 在其他规范中使用WebSocket协议:该协议不仅仅局限于浏览器应用,还可以在其他网络规范和...

    TLDs-history:用于记录对https:data.iana.orgTLDtlds-alpha-by-domain.txt的所有更改的存储库

    这个存储库的目的是追踪和记录位于"https://data.iana.org/TLD/tlds-alpha-by-domain.txt"这个地址的文件的所有更新。该文件是由互联网名称与数字地址分配机构(Internet Assigned Numbers Authority, IANA)维护的...

    Netconf 协议中文版(RFC 6241)

    13. IANA考虑事项,即互联网编号分配机构(Internet Assigned Numbers Authority)在Netconf协议中的角色。 14. 贡献者,感谢那些为RFC 6241做出贡献的个人。 15. 致谢,对相关机构和个人表示感谢。 16. 参考附录,...

    《TCP-IP详解卷一:协议》pdf版本

    《TCP-IP详解卷一:协议》是一本专注于TCP/IP协议体系结构的权威书籍,由权威的计算机网络专家撰写,涵盖了互联网中使用的广泛协议。该书深入讲解了TCP/IP协议族中关键的协议和概念,成为学习计算机网络专业人员的...

    IANA Time Zone Database (简称tzdata) 时区数据

    IANA Time Zone Database,通常被称为tzdata,是全球时间区数据的一个重要资源,它包含了世界各地的时区信息,包括夏令时规则、历史时区变更等。这个数据库被广泛用于操作系统、编程语言、网络服务和其他需要处理...

    HTTP交互模拟库VCR.py.zip

    VCR.py 是 Ruby 版本的 VCR 的 Python 移植版本。... response = urllib2.urlopen('http://www.iana.org/domains/reserved').read()  assert 'Example domains' in response 标签:VCRpy

    oauth2.0中文翻译

    * 互联网编号分配机构 —— IANA * 互联网工程指导组 —— IESG * 标准轨道 —— standards-track OAuth 2.0 是一种解决分布式 web 服务和云计算中第三方应用访问受保护资源问题的授权协议,具有高安全性、灵活性和...

    RFC2935-Internet开放贸易协议(IOTP)HTTP 补充.docx

    IANA的考虑** 因特网分配号码权威机构(IANA)负责管理HTTP头字段和相关协议参数。在实现IOTP的HTTP补充时,需要与IANA协调以确保新定义的头字段和状态代码得到适当注册和标准化。 总结来说,RFC2935为实现IOTP...

    IANA保留地址.docx

    **IANA保留地址详解** IANA,全称Internet Assigned Numbers Authority,即互联网编号分配机构,是负责管理和分配互联网中各种标识资源的重要组织。其主要职责包括IP地址的规划与分配,以及TCP/UDP公共服务端口的...

    PPP协议规范.doc

    新的协议需要向互联网编号分配机构(IANA)申请编号。 6. **信息字段**:信息字段包含了实际的数据包内容,长度可变。根据协议字段的值,这些数据会被解封装并交给相应的网络层协议处理。 PPP协议的广泛应用在于其...

    RFC3984协议-H.264(RTP荷载格式).pdf

    RFC3984文档描述了针对H.264视频编码标准的实时传输协议(RTP)荷载格式,该格式允许将H.264视频编码器产生的一个或多个网络抽象层单元(NALU)打包到每个RTP负载中。这种荷载格式不仅支持从简单低比特率的会话式...

    网络通信技术ppt课件.ppt

    “已知的协议”,即固定协议,采用的端口由“互联网编号分配认证(IANA)”控制和分配。 端口号分为下面这三类:“已知”端口、已注册端口、动态和(或)私用端口。0 ~ 1023由IANA控制,是为固定服务(如FTP,HTTP,...

    RFC-4764(中文版).pdf

    - 广泛适用性:该协议适用于各种网络环境,特别是IEEE802.11无线局域网。 - 安全性:在密码设计上应保守,确保协议的安全性。 - 可扩展性:EAP-PSK设计要考虑未来可能的扩展性。 2. EAP-PSK协议概述 - EAP-PSK...

    SIP rfc3261 协议下载

    SIP 协议 会话初始协议 很有帮助 Contents 1 Introduction 9 2 Overview of SIP Functionality 10 3 Terminology 11 4 Overview of Operation 11 5 Structure of the Protocol 16 6 Definitions 7 SIP Messages 22 ...

    OCPP_JOSN_1.6_中文版.pdf

    此外,OCPP-J 1.6版还应该与IANA(Internet Assigned Numbers Authority)的标准保持一致,以确保协议中涉及的一些标识符和格式符合国际互联网标准。 综上所述,OCPP-J 1.6版规范是电动汽车充电站与中央管理系统...

    TCP-IP详解 卷一:协议(合并版)

    - Internet Assigned Numbers Authority(IANA):负责互联网数字、参数、协议和地区的分配管理工作。 - Internet Society(ISOC):一个非营利的国际性组织,致力于促进互联网的发展和使用。 - Internet ...

    (经贸合同)开放贸易协议补充.pdf

    8. **IANA考虑**:文档还提到了互联网分配号码权威机构(IANA)需要考虑的事项,可能涉及到MIME类型的注册和其他协议相关参数的管理。 9. **参考文献和作者信息**:文档提供了相关参考文献列表,以及作者和版权信息...

    IP地址库(包含国内外IP段)可直接导入数据库表中

    这里,“0.0.0.0”表示起始IP地址,“0.255.255.255”表示结束IP地址,“IANA保留地址-unknow”则表示这些IP地址的归属信息。 #### 三、IP地址分类与归属 1. **国内IP段归属**: - **福建省-电信**:表示福建省内...

Global site tag (gtag.js) - Google Analytics