[翻译]WebSocket协议第二章——Conformance Requirements

概述

本文为WebSocket协议的第二章,本文翻译的主要内容为WebSocket协议中相关术语的介绍。

2 一致性要求(第二章协议正文)

在这篇文档中,所有的图、示例和笔记都是非规范性的,就像标注了非规范性的所有章节一样。在文档中没有指定的其他内容都是规范性的。

在这篇文档中的关键词如“必须(MUST)”、“必须不(MUST NOT)”、“需要(RWQUIRE)”、“应该(SHALL)”、“不应该(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“推荐(RECOMMENDED)”、“也许(MAY)”和“可选(OPTIONAL)”可以按照[RFC2119 ](https://tools.ietf.org/html/r...

作为算法的一部分的命令式语句(如“删除任何前导空格”或“返回false并且中止后续步骤”)在介绍算法时应该与关键词一起解释(“必须(MUST)”、“应该(SHOULD)”、“也许(MAY)”等)。

算法或者指定步骤中的符合要求的措辞可以通过任何方式表述,只要最终的结果是等价的。(尤其是在算法定义中,我们的目标是竟可能简单的操作而不是最求完美。)

2.1 术语和其他公约

_ASCII_表示定义在ANSI.X3-4.1986的字符编码表。

这个文档参考UTF-8的值,使用在STD 63(RFX3629)定义的UTF-8标准格式。

如命名算法或者定义关键输入的标识如_this_。

命名header字段或者变量如|this|。

本文引用了WebSocket连接失败(_Fail the WebSocket Connection_)这个程序。这个程序位于第7.1.7节。

转换小写字符(_Converting a string to ASCII lowercase_)意味着替换从U+0041到U+005A的所有字符(拉丁字母大写A到Z)为相对应的U+0061到U+007A的字符(拉丁字母小写A-Z)。

不区分ASCII大小写(_ASCII case-insensitive_)比较方式意味着通过码点(code point)比较这两个字符,如果这两个字符是U+0041到U+005A(拉丁字母大写A到Z)和相对应的U+0061到U+007A的字符(拉丁字母小写A-Z),那么也认为这两个字符相等。

文档中URI这个词被定sj义在了RFC3986

当需要实现WebSocket协议中一部分的_send_数据时,这个实现是有可能会延迟任意时间来进行数据传输的,例如,使用数据缓冲区来保证发送较少的IP数据包。

这个文档在不同的章节会同时使用RFC5234RFC2616这两个中的扩充巴科斯-瑙尔范式(ABNF)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nimomeng的自我进阶

Collection官方文档

a) Keys必须实现NSCopying协议。添加成员的方法并不将每一个key直接进行添加,而是将每一个key进行copy并将copy后对象添加...

1494
来自专栏大内老A

[ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定

在众多表单元素中,有一类<select>元素用于绑定一组预定义列表。传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListContro...

1925
来自专栏小狼的世界

Javascript设计模式学习(一)封装和信息隐藏

在我们编程的过程中,我们应该尽可能的把数据和函数处理信息隐藏在对象内部,在Javascript中,我们怎样来做呢?

934
来自专栏TechBox

一份走心的iOS开发规范前言约定(一)命名规范(二)编码规范2.14 内存管理规范本文参考文章其他有价值的文章

5288
来自专栏前端小叙

js与ios桥接使用WebViewJavascriptBridge简单理解

https://github.com/marcuswestin/WebViewJavascriptBridge function setupWebViewJav...

3365
来自专栏令仔很忙

观察者模式和Spring的结合

这周给分了一个任务,就是对查询回来的数据进行各种各样的过滤,有七种不同的过滤条件。过滤条件是在数据库中存着的。在我们项目中有一个热发,就是定时的从数据库中把数...

1212
来自专栏Java帮帮-微信公众号-技术文章全总结

【选择题】Java基础测试题一(10道)

【选择题】Java基础测试题一(10道) 1.下面哪些是合法的变量名? (DEG) A.2variable //不能以数字开头 ...

4338
来自专栏JAVA高级架构开发

Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码

美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本。

2130
来自专栏用户2442861的专栏

如何给10^7个数据量的磁盘文件排序

第一节、如何给磁盘文件排序 问题描述: 输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=...

652
来自专栏喔家ArchiSelf

从构造函数看线程安全

线程是编程中常用而且强大的手段,在使用过程中,我们经常面对的就是线程安全问题了。对于Java中常见的数据结构而言,一般的,ArrayList是非线程安全的,Ve...

1082

扫码关注云+社区

领取腾讯云代金券