HTTP2.0协议中英文对照版
http各个版本(11.12)对比
http 各个版本(11.12)对⽐⽬录:参考的⽂章:http1.1 长连接HTTP1.1默认使⽤长连接,可有效减少TCP 的三次握⼿开销。
HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建⽴⼀个TCP 连接,服务器完成请求处理后⽴即断开TCP 连接当⼀个⽹页⽂件中包含了很多图像的地址的时候,那就需要很多次的http 请求和响应,每次请求和响应都需要⼀个单独的连接,每次连接只是传输⼀个⽂档和图像,上⼀次和下⼀次请求完全分离。
即使图像⽂件都很⼩,但是客户端和服务器端每次建⽴和关闭连接却是⼀个相对⽐较费时的过程,并且会严重影响客户机和服务器的性能。
当⼀个⽹页⽂件中包含JavaScript ⽂件,CSS ⽂件等内容时,也会出现类似上述的情况。
为了克服HTTP 1.0的这个缺陷,HTTP 1.1⽀持持久连接(HTTP/1.1的默认模式使⽤带流⽔线的持久连接),在⼀个TCP 连接上可以传送多个HTTP 请求和响应,减少了建⽴和关闭连接的消耗和延迟。
⼀个包含有许多图像的⽹页⽂件的多个请求和应答可以在⼀个连接中传输,但每个单独的⽹页⽂件的请求和应答仍然需要使⽤各⾃的连接。
HTTP 1.1还允许客户端不⽤等待上⼀次请求结果返回,就可以发出下⼀次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。
通过请求头中connection 字段在表明是否⽀持长链接在http1.1中,client 和server 都是默认对⽅⽀持长链接的(即connection 的值默认我Keep-Alive), 如果client 使⽤http1.1协议,但⼜不希望使⽤长链接,则需要在header 中指明connection 的值为closer(connection 默认为Keep-Alive);如果server ⽅也不想⽀持长链接,则在response 中也需要明确说明connection 的值为closer 。
1、http协议基础及IO模型
1、http协议基础及IO模型Nginx (web server,web reverse proxy):http协议:80/tcp,HyperText Transfer Procotolhttp协议版本:HTTP/0.9:原型版本,功能简陋HTTP/1.0:第⼀个⼴泛使⽤的版本,⽀持MIMEHTTP/1.1: 增强了缓存功能spdyHTTP/2.0 下⼀次流⾏MIME:Multipurpose Internet Mail Extesion 多⽤途互联⽹邮件扩展major/minor:text/plain, text/html, image/jpegURI: Uniform Resource Identifier 同⼀资源标识符URL: Uniform Resorce Locator(统⼀资源定位符),⽤于描述某服务器某特定资源的位置;URL包括三部分:URL⽅案:scheme//服务器地址:ip:port资源路径:Scheme://Server:Port/path/to/resourceURN: Uniform Resource Naminghttp事务:httpd⼀次请求和响应的过程请求:request //请求是由请求报⽂来请求响应:response//响应是由响应报⽂来构建报⽂语法格式:request报⽂<method> <request-URL> <version> //起始⾏<headers> //有可能由众多的头部组成<entity-body> //请求主体部分,有可能为空Response响应报⽂<version> <status> <reason-phrase>原因短语<headers><entity-body>//响应实体请求报⽂语法解析:method:请求⽅法,标明客户端希望服务器对资源执⾏的动作GET(表⽰客户端希望服务器把资源打包发给客户端)、HEAD、POST version://请求报⽂和响应报⽂都⼀样HTTP/<major>.<minor>//主版本号.次版本号status:三位数字,如200,301, 302, 404, 502; 标记请求处理过程中发⽣的情况;reason-phrase:status状态码所标记的状态的简要描述;headers:⾸部每个请求或响应报⽂可包含任意个⾸部;每个⾸部都有⾸部名称,后⾯跟⼀个冒号,⽽后跟上⼀个可选空格,接着是⼀个值;entity-body:请求时附加的数据或响应时附加的数据;有⽤的数据块,请求报⽂entity-body可能为空method(⽅法):GET:从服务器获取⼀个资源;HEAD:只从服务器获取⽂档的响应⾸部,⽽不是响应内容;POST:向服务器发送要处理的数据,放在<entity-body>中;PUT:将请求的主体部分存储在服务器上,上传数据到服务器;DELETE:请求删除服务器上指定的⽂档;TRACE:追踪请求到达服务器中间经过的代理服务器;OPTIONS:请求服务器返回对指定资源⽀持使⽤的请求⽅法,如get等;status(状态码):1xx:100-101, 额外信息提⽰;2xx:200-206, 成功类的响应;3xx:300-305, 重定向类的状态;4xx:400-415, 错误类信息,客户端错误(客户端请求根本不存在的资源)5xx:500-505, 错误类信息,服务器端错误(服由于⾃⼰内部问题,导致运⾏不成功)常⽤的状态码:200:成功,请求的所有数据通过响应报⽂的entity-body部分发送;OK301:请求的URL指向的资源已经被删除;但在响应报⽂中通过⾸部Location指明了资源现在所处的新位置;Moved Permanently,永久重定向302:与301相似,但在响应报⽂中通过Location指明资源现在所处临时新位置;Found,资源有,需要重新找304:客户端发出了条件式请求,但服务器上的资源未曾发⽣改变,则通过响应报⽂此响应状态码通知客户端;Not Modified401:需要输⼊账号和密码认证⽅能访问资源;Unauthorized未认证403:请求被禁⽌;Forbidden404:服务器⽆法找到客户端请求的资源;Not Found500:服务器内部错误,原因很多;Internal Server Error502:代理服务器从后端服务器收到了⼀条伪响应;504 Gateway Timeout 是⼀种HTTP协议的服务器端错误状态代码,表⽰扮演⽹关或者代理的服务器⽆法在规定的时间内获得想要的响应。
HTTP2.0学习与Nginx和Tomcat配置HTTP2.0
HTTP2.0学习与Nginx和Tomcat配置HTTP2.0⽬录⼀、HTTP2.01.1 简介1.2 新的特性1.3 h2c 的⽀持度⼆、Nginx 对 http2.0 的⽀持2.1 Nginx 作为服务端使⽤http2.02.2 Nginx 作为客户端使⽤ http2.0三、Tomcat 对 HTTP2.0 的⽀持3.1.1、依赖环境3.1.2、h2c 配置(⾮加密)3.1.3、h2 配置(加密)3.1 、Tomcat 8.5四、扩展问题解决⽅法⼀(没⾏通)⽅法⼆(可⾏)4.1、测试 h2c4.2、查看浏览器是否⽀持 http2.04.3、查看⽹站是否⽀持 http2.04.4、JAVA8 如何⽀持 HTTP2.0 TLS⼀、HTTP2.01.1 简介HTTP/2(超⽂本传输协议第2版,最初命名为HTTP 2.0),简称为h2(基于TLS/1.2或以上版本的加密连接)或h2c(⾮加密连接),是HTTP协议的的第⼆个主要版本。
1.2 新的特性具体可以看这篇⽂章:https:///a/11900000134207841. 头数据压缩 Data compression of HTTP headers2. 服务器推送 HTTP/2 Server Push3. 管线化请求 Pipelining of requests.4. 对数据传输采⽤多路复⽤,让多个请求合并在同⼀ TCP 连接内 Multiplexing multiple requests over a single TCP connection,因为每⼀个tcp 连接在创建的时候都需要耗费资源,⽽且在创建初期,传输也是⽐较5. 采⽤了⼆进制⽽⾮明⽂来打包、传输客户端<——>服务器间的数据。
1.3 h2c 的⽀持度HTTP/2 的设计本⾝允许⾮加密的 HTTP 协议,也允许使⽤TLS 1.2或更新版本协议进⾏加密。
协议本⾝未要求必须使⽤加密,惟多数客户端 (例如 Firefox, Chrome, Safari, Opera, IE, Edge) 的开发者声明,他们只会实⼆、Nginx 对 http2.0 的⽀持2.1 Nginx 作为服务端使⽤http2.0使⽤ http2.0 的条件1. Nginx 版本⼤于或等于 1.9.5 。
最详细的http协议、tcpip协议(转)
最详细的http协议、tcpip协议(转)最详细的http协议、tcp/ip协议(转⾃头条号猪哥亮额)图解传说中的HTTP协议先扒⼀扒HTTP协议背景?HTTP(HyperText Transfer Protocol) 即超⽂本传输协议,现在基本上所有web项⽬都遵从HTTP协议(协议就是⼀种⼈为的规范)。
⽬前绝⼤部分使⽤的都是HTTP/1.1版本(1.0太⽼,2.0仍在制订中。
)。
因为HTTP协议是属于TCP/IP协议簇的,所以先简单介绍下与HTTP相关的TCP/IP知识。
TCP/IP简介。
TCP/IP是⼀个协议簇,是由许多协议组成的。
TCP/IP四层模型。
TCP/IP按照层次从上⾄下分为四层:应⽤层,传输层,⽹络层,数据链路层。
(实际上最初理论上OSI模型是分的七层,我们程序猿的话通常只⽤分四层就⾏了。
)1. 应⽤层:应⽤层决定了向⽤户提供应⽤服务时通信的活动。
TCP/IP协议族内预存了各类通⽤的应⽤服务。
⽐如,FTP(File Transfer Protocol,⽂件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。
HTTP协议也处于该层。
1. 传输层:传输层对上层应⽤层,提供处于⽹络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP(Transmission ControlProtocol,传输控制协议)和UDP(User Data Protocol,⽤户数据报协议)。
1. ⽹络层:⽹络层⽤来处理在⽹络上流动的数据包。
数据包是⽹络传输的最⼩数据单位。
该层规定了通过怎样的路径(所谓的传输路线)到达对⽅计算机,并把数据包传送给对⽅。
与对⽅计算机之间通过多台计算机或⽹络设备进⾏传输时,⽹络层所起的作⽤就是在众多的选项内选择⼀条传输路线。
1. 链路层(⼜名数据链路层,⽹络接⼝层):⽤来处理连接⽹络的硬件部分。
包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,⽹络适配器,即⽹卡),及光纤等物理可见部分(还包括连接器等⼀切传输媒介)。
ONVIF2.0中文协议原版
ONVIF2.0中文协议原版1 范围 (17)2 引用标准 (20)3 术语与定义 (27)3.1定义 (27)3.2缩写 (31)4 概述 (38)4.1W EB 服务 (39)4.2IP配置 (41)4.3设备发现 (41)4.4设备类型 (42)4.5设备管理 (43)4.5.1 功能 (43)4.5.2 网络 (45)4.5.3 系统 (45)4.5.4 系统信息检索 (46)4.5.5 固件升级 (46)4.5.6 系统还原 (47)4.5.7 安全 (47)4.6设备IO (47)4.7图像配置 (49)4.8媒体配置 (50)4.8.1 媒体配置文件 (50)4.9实时流 (56)4.10事件处理 (58)4.11PTZ控制 (58)4.12视频分析 (60)4.13分析设备 (63)4.14显示 (64)4.15接收器 (65)4.15.1 同步点 (66)4.16存储 (66)4.16.1 存储模式 (67)4.16.2 记录 (69)4.16.3 查找 (70)4.16.4 回放 (72)4.17安全 (72)5 WEB服务框架 (74)5.1服务概述 (75)5.1.1 服务要求 (76)5.2WSDL概述 (77)5.3命名空间 (78)5.4类型 (91)5.5消息 (92)5.6操作 (93)5.6.1 单向操作 (95)5.6.2 要求-应答操作类型 (96)5.7端口类型 (98)5.8绑定 (98)5.9端口 (99)5.10服务 (99)5.11错误处理 (99)5.11.1 协议错误 (100)5.11.2 SOAP错误 (100)5.11.2.1常见的故障 (104)5.11.2.2 具体的错误 (106)5.11.2.3 HTTP错误 (106)5.12安全 (107)5.12.1 基于用户访问控制 (109)5.12.2 用户令牌配置文件 (109)5.12.2.1密码推导 (110)5.12.2.1.1 例子 (111)6 IP配置 (113)7 设备发现 (114)7.1概述 (115)7.2操作模式 (115)7.3发现定义 (116)7.3.1 终端参考 (116)7.3.2 服务地址 (117)7.3.3 Hello (117)7.3.3.1类型 (117)7.3.3.2范围 (117)7.3.3.2.1例子 (122)7.3.3.3 地址 (123)7.3.4 探头和探头匹配 (123)7.3.5 解决和解决匹配 (124)7.3.6 BYE (124)7.3.7 SOAP错误信息 (124)7.4远程发现扩展 (126)7.4.1 网络情景 (126)7.4.2 发现代理 (129)7.4.2.1 直接的DP地址配置 (131)7.4.2.2 域名服务记录的查找 (131)7.4.3 远程hello和探头行为 (132)7.4.4 客户端行为 (133)7.4.4.1 NVC 本地DP配置 (134)7.4.5 安全 (135)7.4.5.1 本地发现 (135)7.4.5.2 远程发现 (135)8设备管理 (136)8.1功能 (137)8.1.1获取WSDL的URL (137)8.1.2交换的功能 (138)8.2网络 (150)8.2.1获取主机 (150)8.2.2设置主机名 (151)8.2.3 获取 DNS配置 (152)8.2.4设置DNS (154)8.2.5获取NTP配置信息 (155)8.2.6 对设备设置NTP (157)8.2.7获取动态的DNS设置 (158)8.2.8设置设备动态DNS (160)8.2.9 获取网络接口配置 (161)8.2.10 设置网络接口配置 (162)8.2.11 获取网络协议 (166)8.2.12 设置网络协议 (167)8.2.13 获取默认的网关 (168)8.2.14 设置默认网关 (169)8.2.15 获取0配置 (170)8.2.16 设置0配置 (172)8.2.17 获取IP地址过滤 (173)8.2.18 对IP地址过滤进行配置 (175)8.2.19 增加IP地址过滤 (176)8.2.20 移除IP地址过滤 (178)8.2.21 IEEE 802.11配置 (180)8.2.21.1 SSID (181)8.2.21.2 基站模式 (181)8.2.21.3 多种无线网络配置 (182)8.2.21.4 安全配置 (183)8.2.21.4.1 None 模式 (184)8.2.21.4.2 PSK模式 (184)8.2.21.4.3 IEEE 802.1X-2004 模式 (185)8.2.21.5 获取DOT11的性能 (185)8.2.21.6 GetIEEE802.11状态 (186)8.2.21.7 扫描可用的IEEE802.11网络 (188)8.3系统 (190)8.3.1设备信息 (190)8.3.2获取系统的URL (191)8.3.3备份 (193)8.3.4恢复 (194)8.3.5开始恢复系统 (195)8.3.6获取系统日期以及时间 (197)8.3.7设置系统日期以及时间 (200)8.3.8 出厂默认配置 (202)8.3.9 固件升级 (204)8.3.10 开始固件升级 (206)8.3.11 获取系统日志 (208)8.3.12 获取支持信息 (210)8.3.13 重启 (212)8.3.14 获取范围参数 (212)8.3.15设置范围参数 (214)8.3.16 添加范围参数 (215)8.3.17 移除范围参数 (216)8.3.18 获取发现模式 (217)8.3.19 设置发现模式 (218)8.3.20 获取远程发现方式 (219)8.3.21 设置远程发现方式 (220)8.3.22 获取远程DP地址 (221)8.3.23 配置远程DP地址 (222)8.4安全 (223)8.4.1获取访问策略 (223)8.4.2 设置访问策略 (224)8.4.3 获取用户 (225)8.4.4 创建用户 (226)8.4.5 删除用户 (228)8.4.6 对用户进行配置 (230)8.4.7 IEEE 802.1X配置 (231)8.4.7.1创建IEEE802.1X配置 (233)8.4.7.2对IEEE802.1X配置 (235)8.4.7.3 获取IEEE802.1X配置 (236)8.4.7.4获取IEEE802.1X配置 (237)8.4.7.5 删除IEEE802.1X配置 (239)8.4.8 创建签名证书 (240)8.4.9 获取证书 (242)8.4.10 获取CA证书 (243)8.4.11获取证书状态 (244)8.4.12 设置证书状态 (245)8.4.13获取证书请求 (246)8.4.14 获取客户证书状态 (248)8.4.15 设置客户认证状态 (249)8.4.16 下载设备证书 (250)8.4.17 利用私有密钥来链接下载设备证书 (252)8.4.18 获取证书信息请求 (254)8.4.19 下载CA证书 (256)8.4.20 删除证书 (257)8.4.21 获取远程用户 (259)8.4.22 设置远程用户 (260)8.4.23获取终端参数 (261)8.5输入与输出 (262)8.5.1获取继电器输出 (263)8.5.2 对继电器输出进行配置 (263)8.5.3继电器触发输出 (265)8.5.4 辅助操作 (267)8.6与服务相关的错误代码 (268)9设备IO服务 (283)9.1视频输出 (284)9.1.1 获取视频输出集 (284)9.2视频输出配置 (285)9.2.1 获取视频输出配置 (285)9.2.2 设置视频输出配置 (286)9.2.3 获取视频输出配置选项集 (287)9.3视频源 (289)9.3.1 获取视频源 (289)9.4视频源配置 (291)9.4.1 获取视频源配置 (291)9.4.2 设置视频源配置 (292)9.4.3 获取视频源多个配置选项 (294)9.5音频输出 (296)9.5.1 获取多个音频输出 (296)9.6音频输出配置 (297)9.6.1 获取音频输出配置 (297)9.6.2 设置音频输出配置 (299)9.6.3 获取音频输出多个配置选项 (301)9.7音频源 (302)9.7.1 获取音频源 (302)9.8音频源配置 (304)9.8.1 获取音频源配置 (304)9.8.2 设置音频源配置 (305)9.8.3 获取音频源多个配置选项 (307)9.9继电器输出 (309)9.9.1 获取多个继电器输出 (309)9.9.2 设置继电器输出设置 (310)9.9.3 触发继电器输出 (312)9.10服务错误码 (314)10图像配置 (317)10.1图像设置 (317)10.1.1 获取图像设置 (321)10.1.2 设置图像设置 (323)10.1.3 获取选项 (326)10.1.4 移动 (327)10.1.5 获取运行选项 (330)10.1.6 停止 (332)10.1.7 获取图像状态 (333)10.2服务错误码 (335)11媒体配置 (337)11.1音视频编解码器 (338)11.2媒体文件 (339)11.2.1 创建媒体文件 (340)11.2.2 获取多个媒体文件 (342)11.2.3 获取媒体文件 (343)11.2.4 添加视频源配置 (345)11.2.5 添加视频编码器配置 (346)11.2.6 添加音频源配置 (348)11.2.7 添加音频源编码器配置 (349)11.2.8 添加云台配置 (351)11.2.9 添加视频分析配置 (353)11.2.10 添加元数据配置 (356)11.2.11 添加音频输出配置 (358)11.2.12 添加音频解码器配置 (359)11.2.13 移除视频源配置 (361)11.2.14 移除视频源编码器配置 (362)11.2.15 移除音频源编码器配置 (364)11.2.16 移除音频编码器配置 (365)11.2.17 移除云台配置 (367)11.2.18 移除视频分析配置 (368)11.2.19 移除元数据配置 (370)11.2.20 移除音频输出配置 (371)11.2.21 移除音频编码器配置 (372)11.2.22 删除媒体文件 (374)11.3视频源 (375)11.3.1 获取视频源集 (375)11.4视频源配置 (376)11.4.1 获取视频源配置集 (376)11.4.2 获取视频源配置 (378)11.4.3 获取多个兼容视频源配置 (379)11.4.4 获取视频源配置选项 (380)11.4.5 设置视频源配置 (382)11.5视频编码器配置 (384)11.5.3 获取多个兼容视频解码器配置 (387)11.5.4 获取视频编码器配置选项集 (389)11.5.5 修改视频编码器配置 (392)11.5.6 获取有效的视频编码数量 (394)11.6音频源 (396)11.6.1 获取多个音频源 (396)11.7音频源配置 (397)11.7.1 获取多个音频源配置 (397)11.7.2 获取音频源配置 (398)11.7.3 获取兼容音频源配置集 (400)11.7.4 获取音频源配置选项集 (402)11.7.5 修改音频源配置 (404)11.8音频编码器配置 (407)11.8.1 获取多个音频编码器配置 (408)11.8.2 获取音频源编码器配置 (409)11.8.3 获取多个兼容音频编码器配置 (410)11.8.4 获取音频编码器配置选项集 (412)11.8.5 设置音频编码配置 (414)11.9视频分析配置 (417)11.9.1 获取多个视频分析配置 (418)11.9.2 获取视频分析配置 (419)11.9.3 获取多个兼容视频分析配置 (421)11.9.4 修改视频分析配置 (423)11.10元数据配置 (425)11.10.1 获取多个元数据配置 (426)11.10.2 获取元数据配置 (427)11.10.3 获取多个兼容元数据配置 (428)11.10.4 获取元数据配置选项集 (429)11.10.5 修改元数据配置 (431)11.11音频输出 (434)11.11.1 获取音频输出集 (434)11.12音频输出配置 (435)11.12.1 获取多个音频输出配置 (435)11.12.2 获取音频输出配置 (437)11.12.3 获取多个兼容音频输出配置 (438)11.12.4 获取音频输出配置选项集 (440)11.12.5 设置音频输出配置 (442)11.13音频解码器配置 (444)11.13.1 获取多个音频解码器配置 (444)11.13.2 获取音频解码器配置 (445)11.13.3 获取兼容音频解码器配置集 (447)11.13.4 获取音频解码器配置选项集 (449)11.15URI流 (454)11.15.1 获取Uri流 (454)11.16快照 (457)11.16.1 获取Uri快照 (457)11.17组播 (459)11.17.1 开始组播流 (459)11.17.2 停止组播流 (461)11.18同步点 (462)11.18.1 设置同步点 (462)11.19服务具体的错误码 (464)12 实时流 (470)12.1流媒体协议 (470)12.1.1传输格式 (470)12.1.1.1通过UDP的RTP数据传输 (471)12.1.1.2 通过TCP传输RTP数据 (471)12.1.1.3 RTP/RTSP/TCP (471)12.1.1.4 RTP/RTSP/HTTP/TCP (471)12.1.2 媒体传输 (472)12.1.2.1 RTP (472)12.1.2.1.1 RTP元数据流 (476)12.1.2.2 RTCP (478)12.1.2.2.1媒体同步 (479)12.1.3 同步点 (481)12.1.4 通过RTP传输JPEG (482)12.1.4.1所有包的结构 (482)12.1.4.2 逻辑解码规范 (484)12.1.4.3支持的彩色空间和采样因素 (487)12.1.4.4像素长宽比处理 (487)12.1.4.5 隔行扫描处理 (488)12.2媒体控制协议 (488)12.2.1流控制 (488)12.2.1.1 RTSP (489)12.2.1.1.1 保持RTSP会话的方法 (491)12.2.1.1.2 RTSP音频和视频同步 (492)12.2.1.1.4 RTSP消息的例子 (493)12.2.1.2 通过HTTP的RSTP (494)12.3往回通道连接 (495)12.3.1 RTSP协议请求的标签 (495)12.3.2双向连接的连接设置 (496)12.3.2.1 例一:没有往回支持的服务 (496)12.3.2.2 例二:使用ONVIF往回通道支持的服务 (497)12.3.3组播流 (499)12.3.3.1例:多播设置 (499)12.4错误处理 (499)13 接收端配置 (500)13.1持久性 (501)13.2接收端模式 (501)13.3接收命令 (501)13.3.1 获得多个接收器 (501)13.3.2 获得单个接收器 (502)13.3.3 创建接收器 (503)13.3.4 删除接收器 (504)13.3.5 配置接收器 (504)13.3.6 设计接收器模式 (506)13.3.7 获取接收机状态 (506)13.4事件 (507)13.4.1 改变状态 (507)13.4.2 连接失败 (508)13.5服务器错误码 (509)14 显示服务 (512)14.1窗格 (513)14.1.1 获得多个窗格配置 (515)14.1.2 获得单个窗格配置 (516)14.1.3 设置多个窗格配置 (517)14.1.4 设置单个窗格配置 (518)14.1.5 创建窗格配置 (520)14.1.6 删除窗格配置 (521)14.2布局 (522)14.2.1 获得布局 (523)14.2.2 设置布局 (524)14.3显示选项 (524)14.3.1 获取显示选项 (526)14.4事件 (526)14.4.1 解码错误事件 (527)14.5服务错误码 (528)15 事件处理 (532)15.1基本通知接口 (533)15.1.1 介绍 (534)15.1.2 要求 (536)15.2实时拉点通知接口 (537)15.2.1 创建 pull point subscription (540)15.2.2 pull 消息 (541)15.3通知流接口 (542)15.5通知结构 (544)15.5.1 通知消息 (547)15.5.1.1 事件例子 (548)15.5.2 消息格式 (549)15.5.3 属性举例,持续 (553)15.5.4 信息描述语言 (558)15.5.4.1 消息描述举例 (560)15.5.5 消息内容过滤器 (562)15.6同步点 (565)15.7主题结构 (567)15.7.1 ONVIF主题名字空间 (567)15.7.2 主题类型信息 (569)15.7.3 主题过滤器 (572)15.8获取事件属性 (575)15.9SOAP错误消息 (578)15.10通知例子 (578)15.10.1 获取事件属性请求 (578)15.10.2 获取事件属性应答 (579)15.10.3 创建PULLPOIT订阅 (583)15.10.4 创建PULLPOIT订阅应答 (586)15.10.5 拉消息请求 (588)15.10.6 拉消息应答 (590)15.10.7 退订请求 (594)15.10.8 退订应答 (596)15.11服务错误码 (597)16 PTZ控制 (597)16.1PTZ模型 (599)16.2PTZ节点 (602)16.2.1 获取所有节点(GetNodes) (603)16.2.2 获取节点(GetNode) (604)16.3PTZ配置 (605)16.3.1 读取所有配置命令(GetConfigurations) (608)16.3.2 读取配置命令(GetConfiguration) (609)16.3.3 读取配置选项(GetConfigurationOptions) (610)16.3.4 设置配置(SetConfiguration) (612)16.4移动操作 (614)16.4.1 绝对的移动(AbsoluteMove) (614)16.4.2 相对移动(RelativeMove) (617)16.4.3 连续移动(ContinuousMove) (620)16.4.4 停止(Stop) (623)16.4.5 读取状态(GetStatus) (624)16.5.2 读取所有预设值(GetPresets) (629)16.5.3 返回预设 (630)16.5.4 移除预设(RemovePreset) (632)16.6归位点操作 (634)16.6.1 转到归位点(GotoHomePosition) (634)16.6.2 设置归位点(SetHomePosition) (636)16.7辅助操作 (637)16.7.1 发送辅助命令(SendAuxiliaryCommand) (638)16.8预定PTZ空间 (640)16.8.1 绝对的位置空间 (640)16.8.1.1 泛化的全方位移动空间 (640)16.8.1.2 泛化的变焦位置空间 (641)16.8.2 相对的转换空间 (642)16.8.2.1 泛化的方位转换空间 (642)16.8.2.2 泛化的变焦转换空间 (643)16.8.3 连续的速率空间 (644)16.8.3.1 泛化的方位速率空间 (644)16.8.3.2 泛化的变焦速率空间 (646)16.8.4 速度空间 (646)16.8.4.1 泛化的方位速度空间 (647)16.8.4.2 泛化的变焦速度空间 (647)16.9服务错误码 (648)17 视频分析 (658)17.1场景描述接口 (659)17.1.1 概述 (659)17.1.2 画面相关内容 (660)17.1.2.1时间关系 (662)17.1.2.2 空间关系 (663)17.1.3 场景元素 (666)17.1.3.1 对象 (667)17.1.3.2 对象树 (674)17.1.3.3 形状描述符 (678)17.2规则接口 (680)17.2.1 规则陈述 (681)17.2.2 规则描述语言 (683)17.2.3 规则标准 (687)17.2.3.1 线性检测器 (687)17.2.3.2 域检测器 (689)17.2.4 规则操作 (691)17.2.4.1 读取支持的操作(GetSupportedRules) (692)17.2.4.2 读取规则(GetRules) (693)17.2.4.3 创建规则(CreateRules) (694)17.2.4.4 修改规则(ModifyRules) (696)17.4.4.5 删除规则(DeleteRules) (697)17.3分析模块接口 (699)17.3.1 分析模块配置 (699)17.3.2 分析模块描述语言 (701)17.3.3 分析模块操作 (703)17.3.3.1 读取支持的分析模块(GetSupportedAnalysticsModule) (703)17.3.3.2 读取模块分析(GetAnalyticsModules) (705)17.3.3.3 创建分析模块(CreateAnalyticsModules) (706)17.3.3.4 修改分析模块(ModifyAnalyticsModules) (708)17.3.3.5 删除分析模块(DeleteAnalyticsModules) (710)17.4服务错误码 (711)18分析设备 (719)18.1概述 (720)18.2分析引擎输入 (721)18.2.1获取分析引擎输入 (722)18.2.2获取分析引擎的输入 (723)18.2.3设置分析引擎的输入 (724)18.2.4 创建分析引擎输入 (726)18.2.5删除分析引擎输入 (728)18.3视频分析配置 (729)18.3.1 获取视频分析配置 (729)18.3.2 设置视频分析配置 (730)18.4分析引擎 (732)18.4.1获取分析引擎 (732)18.4.2 获取分析引擎 (733)18.5分析引擎控制 (734)18.5.1 GetAnalyticsEngineControls (735)18.5.2 获取分析引擎控制 (737)18.5.3设置分析引擎控制 (738)18.5.4 CreateAnalyticsEngineControl (739)18.5.5删除分析引擎控制 (741)18.6获取分析状态 (742)18.7输出流配置 (744)18.7.1 请求流的URL (745)19录制控制 (747)19.1介绍 (747)19.2一般要求 (750)19.3数据结构 (750)19.3.1 录制设置 (751)19.3.2 轨迹设置 (751)19.3.3 录制任务设置 (752)19.4创建录制 (754)19.5删除录制 (757)19.6获取录制集 (758)19.7设置录制配置 (759)19.8获取录制配置 (760)19.9创建轨道 (761)19.10删除轨道 (763)19.11获取轨道配置 (765)19.12设置轨道配置 (766)19.13创建录制任务 (768)19.14删除录制任务 (770)19.15获取录制任务集 (771)19.16设置录制任务配置 (772)19.17获取录制任务配置 (774)19.18设置录制模式 (775)19.19获取录制任务状态 (777)19.20事件 (780)19.20.1 录制任务状态变化 (780)19.20.2 设置变化 (781)19.20.3 删除数据 (784)19.20.4 录制和轨道的建立与删除 (785)19.21示例 (787)19.21.1 例1:单摄像头的安装录制 (787)19.21.2 例2:从一台摄像机录制多个流到一个单录制 (789)20 记录搜索 (791)20.1介绍 (791)20.2概念 (792)20.2.1 搜索方向 (792)20.2.2 记录事件 (792)20.2.3 查找对话 (793)20.2.4 查找范围 (794)20.2.4.1 包括的数据 (794)20.2.4.2 记录信息滤波器 (795)20.2.5 搜索过滤器 (795)20.3数据结构 (795)20.3.1 记录信息结构 (795)20.3.2 记录源信息结构 (796)20.3.3 跟踪信息结构 (796)20.3.4 列举查找状态 (797)20.3.5 媒体属性结构 (797)20.3.6 找事件结果结构 (798)20.3.7 找PTZ位置结果结构 (798)20.3.8 PTZ位置过滤结构 (799)20.3.9 元数据过滤结果 (799)20.3.10 找元数据结果结构 (799)20.4获取记录概要(G ET R ECORDING S UMMARY) (800)20.5读取记录信息(G ET R ECORDING I NFORMATION) (801)20.6读取媒体属性(G ET M EDIA A TTRIBUTES) (802)20.7找记录(F IND R ECORDINGS) (804)20.8获取记录搜索结果(G ET R ECORDING S EARCH R ESULTS) (806)20.9找事件(F IND E VENTS) (808)20.10读取事件搜索结果(G ET E VENT S EARCH R ESULTS) (811)20.11查找PTZ位置(F IND PTZP OSITION) (814)20.12读取PTZ位置搜索结果(G ET PTZP OSITION S EARCH R ESULTS) (818)20.13查找元数据(F IND M ETADATA) (821)20.14读取元数据搜索结果(G ET M ETADATA S EARCH R ESULTS) (824)20.15获取搜索状态(G ET S EARCH S TATE) (827)20.16结束搜索(E ND S EARCH) (828)20.17记录事件说明 (829)20.18XP ATH习惯用法 (834)21 重放控制 (837)21.1使用RTSP协议 (837)21.1.1 RTSP描述 (838)21.2RTP协议头部扩展 (839)21.2.1 NTP时间戳 (841)21.2.2 压缩JEPG头扩展的兼容 (841)21.3RTSP特性标签 (842)21.4启动播放 (843)21.4.1 领域范围 (844)21.4.2 速度控制头领域 (846)21.4.3 帧头字段 (846)21.4.4 同步点 (848)21.5回放 (848)21.5.1 数据包传输顺序 (848)21.5.2 RTP传输顺序号 (849)21.5.3 RTP时间戳 (849)21.6RTSP长连接 (850)21.7当前记录片段 (851)21.8结束片段 (851)21.9拖放 (852)21.10使用RTCP协议 (853)21.11重放命令 (853)21.11.1 重放命令 (853)21.11.2 重播配置 (855)21.11.3 设置重播配置 (856)21.11.4 获取重播配置 (857)21.11.5 服务指定的误码 (857)22 安全 (861)22.1传输层安全 (862)22.1.1 支持密码套 (863)22.1.2 服务器身份验证 (863)22.1.3 客户端认证 (864)22.2消息安全 (864)22.3IEEE802.1X (865)介绍ONVIF的目标是为了实现完全标准化的、可互操作性的网络视频服务,即使是由不同的网络视频供应商组成的产品。
can2.0协议中文版
z 对象层的功能是报文滤波以及状态和报文的处理。 这本技术规范的目的是为了定义传输层及定义 CAN 协议在周围各层中所发挥的作用(所具有的意义)。
这本技术规范的目的是为了在任何两个 CAN 仪器之间建立兼容性。可是,兼容性有不同的方面,比如 电气特性和数据转换的解释。为了达到设计透明度以及实现柔韧性,CAN 被细分为以下不同的层次:
• CAN 对象层(the object layer) • CAN 传输层(the transfer layer) • 物理层(the phyical layer) 对象层和传输层包括所有由 ISO/OSI 模型定义的数据链路层的服务和功能。对象层的作用范围包括: z 查找被发送的报文。 z 确定由实际要使用的传输层接收哪一个报文。 z 为应用层相关硬件提供接口。 在这里,定义对象处理较为灵活。传输层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错 误检测、出错标定、故障界定。总线上什么时候开始发送新报文及什么时候开始接收报文,均在传输层里 确定。位定时的一些普通功能也可以看作是传输层的一部分。理所当然,传输层的修改是受到限制的。 物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。当然,同一网络内,物 理层对于所有的节点必须是相同的。尽管如此,在选择物理层方面还是很自由的。 这本技术规范的目的是定义传输层,并定义 CAN 协议于周围各层当中所发挥的作用(所具有的意义)。
3.1 帧类型 ................................................................................................................................................... 6 3.1.1 数据帧............................................................................................................................................ 6 3.1.2 远程帧............................................................................................................................................ 9 3.1.3 错误帧.......................................................................................................................................... 10 3.1.4 过载帧.......................................................................................................................................... 11 3.1.5 帧间空间...................................................................................................................................... 11
HTTP协议详解及http1.0与http1.1http2.0的区别
HTTP协议详解及http1.0与http1.1http2.0的区别HTTP协议介绍http(超⽂本传输协议)是⼀个属于应⽤层的⾯向对象的协议,由于其简捷、快速的⽅式,适⽤于分布式超媒体信息系统。
特点:(1)⽀持客户/服务器模式。
HTTP是⼀个客户端和服务器端请求和应答的标准(TCP)。
客户端是终端⽤户,服务器端是⽹站。
通过使⽤、或者其它的⼯具,客户端发起⼀个到服务器上指定端⼝(默认为80)的HTTP请求。
称这个客户端叫⽤户代理。
服务器则在那个端⼝监听客户端发送过来的请求。
应答的服务器上存储着(⼀些)资源,⽐如HTML⽂件和图像。
称这个应答服务器为源服务器。
⼀旦收到请求,服务器(向客户端)发回⼀个状态⾏,⽐如"HTTP/1.1 200 OK",和(响应的)消息,其消息体即为服务器上的资源。
HTTP使⽤TCP ⽽不是UDP的原因在于(打开)⼀个⽹页必须传送很多数据,⽽TCP协议提供传输控制,按顺序组织数据,和错误纠正。
(2)简单快捷。
客户向服务器请求服务时,只需传送请求⽅法和路径。
请求⽅法常⽤的有GET、HEAD、POST。
每种⽅法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模⼩,因⽽通信速度很快。
(3)灵活。
HTTP允许传输任意类型的数据对象。
正在传输的类型由Content-Type加以标记。
(4)⽆连接。
意思限制每次连接只处理⼀个请求。
服务器处理完客户的请求,并收到客户的应答后,即断开连接。
采⽤这种⽅式可以节省传输时间。
(5)⽆状态。
HTTP协议是⽆状态协议。
⽆状态是指协议对于事务处理没有记忆能⼒。
缺少状态意味着如果后续处理需要前⾯的信息,则它必须重传,这样可能导致每次连接传送的数据量增⼤。
另⼀⽅⾯,在服务器不需要先前信息时它的应答就较快。
认识URL 通过HTTP协议请求的资源由统⼀资源定位器(URL)来标识。
URL是⼀种特殊类型的URI(统⼀资源标识符,⽤来唯⼀的标识⼀个资源。
HTTP协议-最新RFC文档-中文版
内容协商(content negotiation) 任 当服务一个请求时选择资源的一种适当的表示形式的机制(mechanism),如第 12 节所述。 何响应里实体的表现形式都是可协商的(包括错误响应)。 变量(variant) 在 某 个时 刻 ,一个资源对应的表现形式( representation )可以有一个或多个(译注:一个 URI 请求一个资源,但返回的是此资源对应的表现形式,这根据内容协商决定)。每个表现形 式 ( representation ) 被 称 作 一 个 变 量 。 ‘ 变 量 ’ 这 个 术 语 的 使 用 并 不 意 味 着 资 源 (resource)是由内容协商决定的.。 客户端(client) 为发送请求建立连接的程序.。 用户代理(user agent) 初始化请求的客户端程序。常见的如浏览器,编辑器,蜘蛛(可网络穿越的机器人),或其他 的终端用户工具. 服务器(Server) 服务器是这样一个应用程序,它同意请求端的连接,并发送响应( response)。任何给定的程 序都有可能既做客户端又做服务器;我们使用这些术语是为了说明特定连接中应用程序所担当 的角色,而不是指通常意义上应用程序的能力。同样,任何服务器都可以基于每个请求的性质 扮演源服务器,代理,网关,或者隧道等角色之一。 源服务器(Origin server) 存在资源或者资源在其上被创建的服务器(server)被成为源服务器(origin server)。 代理( Proxy) 代理是一个中间程序,它既可以担当客户端的角色也可以担当服务器的角色。代理代表客户端 向服务器发送请求。客户端的请求经过代理,会在代理内部得到服务或者经过一定的转换转至 其 他 服务器。一个代理必 须 能同时实现本规范 中 对 客 户端和服务器 所 作的要求。 透 明代理 ( transparent proxy )需要代理 认证 和代理识 别 , 而 不修 改 请求或响应。 非透 明代理( nontransparent proxy)需修改请求或响应,以便为用户代理( user agent)提供附加服务,附加 服务包括组注释服务,媒体类型转换,协议简化,或者匿名过滤等。除非透明行为或非透明行 为经被显式地声明,否则,HTTP 代理既是透明代理也是非透明代理。 网关(gateway) 网关其实是一个服务器,扮演着代表其它服务器为客户端提供服务的中间者。 与代理(proxy) 不同,网关接收请求,仿佛它就是请求资源的源服务器。请求的客户端可能觉察不到它正在同 网关通信。 隧道(tunnel) 隧道也是一个中间程序,它一个在两个连接之间充当盲目中继(blind relay)的中间程序。 一旦 隧道处于活动状态,它不能被认为是这次 HTTP 通信的参与者,虽然 HTTP 请求可能已经把它 初始化了。当两端的中继连接都关闭的时候,隧道不再存在。 缓存(cache) 缓存是程序响应消息的本地存储。 缓存是一个子系统,控制消息的存储、 获取和删除。 缓存里存 放可缓存的响应( cacheable response)为的是减少对将来同样请求的响应时间和网络带宽消 耗。 任一客户端或服务器都可能含有缓存,但缓存不能存在于一个充当隧道(tunnel)的服务器 里。
HTTP返回码大全(中英解释)
HTTP返回码⼤全(中英解释)http 返回码⼤全(以下是概览)详细的中⽂解释请点击这⾥1** 保留100 : Continue101 : witching Protocols2** 表⽰请求成功地接收200 : OK201 : Created202 : Accepted203 : Non-Authoritative Information204 : No Content205 : Reset Content206 : Partial Content3** 为完成请求客户需进⼀步细化请求300 : Multiple Choices301 : Moved Permanently302 : Found303 : See Other304 : Not Modified305 : Use Proxy307 : Temporary Redirect4** 客户错误400 : Bad Request401 : Unauthorized402 : Payment Required403 : Forbidden404 : Not Found405 : Method Not Allowed406 : Not Acceptable407 : Proxy Authentication Required408 : Request Time-out409 : Conflict410 : Gone411 : Length Required412 : Precondition Failed413 : Request Entity Too Large414 : Request-URI Too Large415 : Unsupported Media Type416 : Requested range not satisfiable417 : Expectation Failed5** 服务器错误500 : Internal Server Error501 : Not Implemented502 : Bad Gateway503 : Service Unavailable504 : Gateway Time-out505 : HTTP Version not supported_____________________________________________________________________ HTTP返回码中⽂解释2xx 抓取正常200 正常;请求已完成。
计算机网络中英文名词对照
计算机⺴⽹网络关键字英⽂文中⽂文对照第⼀一章-协议(Protocol)-⺴⽹网络边缘(Network Edge)-有线⺴⽹网络,⽆无线⺴⽹网络(wired,wireless communication links )-拨号调制解调器(dial-up Modem)-数字⽤用户线(digit subscriber line,DSL)-电缆调制解调器(cable modem)-混合光纤同轴电缆(hybrid fiber coax,HFC)-双绞线(Twisted Pair)-同轴电缆(Coaxial cable)-光缆(Fiber optic cable)-电路交换(circuit switching)-分组交换(packet switching)-端到端连接(end-to-end connection)-频分多路复⽤用(Frequency-Division Multiplexing,FDM)-时分多路复⽤用(Time-Division Multiplexing,TDM)-统计多路复⽤用(statistical multiplexing)-第⼀一层ISP(tier-1 ISP)-时延(delay)、节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)、传播时延(propagation delay)、节点总时延(total nodal delay)-丢包(package loss)-吞吐量(Troughput)-应⽤用层(application layer)、表⽰示层(presentation)、会话层(session)、传输层(transport layer)、⺴⽹网络层(network layer)、链路层(link layer)、物理层(physical layer)-报⽂文(message)、报⽂文段(segment)、数据报(datagram)、帧(frame)-HTTP——Hyper-Text Transfer Protocol-FTP——File Transfer Protocol-SMTP——Simple Mail Transfer Protocol-DNS——Domain Name Service-TCP——Transmission Control Protocol•⾯面向连接——Connection-Oriented(三次握⼿手)•数据可靠——Reliable data transport•拥塞控制——Congestion Control——抑制发送进程•流量控制——Flow Control•如email(SMTP)、远程终端访问(Telnet)、Web(HTTP)、⽂文件传输(FTP)、流媒体(HTTP、RTP)⺴⽹网络层使⽤用TCP协议-UDP——User Datagram Protocol•不可靠数据传输服务•如流媒体(HTTP、RTP)、因特⺴⽹网电话(SIP、RTP)通常⺴⽹网络层使⽤用UDP-IP——Internet Protocol-⽊木⻢马(Trojan horse)、病毒(Virus)、蠕⾍虫(Worm)、DDoS(Distributed Deny of Service)第⼆二章应⽤用层-客户机-服务器(Client-Server)、P2P-client process :process that initiates communication-server process:Process that waits to be contacted-套接字(Socket)-传输层协议提供的服务•Reliable data transfer•Throughput•Timing•Security-HTTP•⽆无状态协议(stateless)•⾮非持久连接、短连接(non-persistent connection)•持久连接、⻓长连接(persistent connection)•pull protocol-往返时间(Round-Trip Time,RTT)-Cookie-server agent-SMTP•push protocol-多⽤用途因特⺴⽹网邮件扩展(Multipurpose Internet Mail Extension,MIME)-DNS•运⾏行在UDP上,使⽤用53号端⼝口•规范和别名•负载分配•主机名->IP地址转换-P2P•直接在对等⽅方传输•⾼高度的可拓展能⼒力•使⽤用客户机-服务器模型第三章运输层-逻辑通信(logical communication)-多路复⽤用(transport-layer multiplexing)与多路分解(demultiplexing)-源端⼝口号字段(source port number field)-⺫⽬目的端⼝口号字段(destination port number field)-周知端⼝口号(well-known port number)-Reliability data transport•完全可靠信道上的可靠数据传输 rdt1.0•具有⽐比特差错信道上的可靠数据传输 rdt2.0——stop-wait protocol•具有⽐比特差错的丢包信道上的可靠数据传输 rdt3.0——alternating-bit protocol•流⽔水线可靠数据协议-Go-Back_N——窗⼝口⼤大⼩小最⼤大2^k-1-选择性重传(selection repeat)窗⼝口⼤大⼩小最⼤大2^(k-1)-拥塞控制(congestion control)-流量控制(flow control)-第四章-转发(forwarding)-选路(routing)-虚电路(Virtual-Circuit,VC)⺴⽹网络:仅在⺴⽹网络层提供连接服务的计算机⺴⽹网络,如ATM、帧中继。
nginx升级到支持HTTP2.0的方法示例
nginx升级到⽀持HTTP2.0的⽅法⽰例⼀、前⾔最近想折腾⼀下服务器,升级到http2.0。
然后nginx照着官⽹配置了⼀下# ssl写在443端⼝后⾯。
这样http和https的链接都可以⽤listen 443 ssl http2 default_server;server_name ;# HSTS的合理使⽤,max-age表明HSTS在浏览器中的缓存时间,includeSubdomainscam参数指定应该在所有⼦域上启⽤HSTS,preload参数表⽰预加载,通过Strict-Transport-Security: max-age=0将缓存设置为0可以撤销HSTS add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";ssl_certificate /usr/local/nginx/cert/2540136_.pem;ssl_certificate_key /usr/local/nginx/cert/2540136_.key;# 分配20MB的共享内存缓存,不同⼯作进程共享TLS会话信息# ssl_session_cache shared:SSL:20m;# 设置会话缓存过期时间1hssl_session_timeout 60m;# TLS协议的合理配置# 指定TLS协议的版本,不安全的SSL2和SSL3要废弃掉ssl_protocols TLSv1 TLSv1.1 TLSv1.2;# 启⽤ssl_prefer_server_ciphers,⽤来告诉Nginx在TLS握⼿时启⽤服务器算法优先,由服务器选择适配算法⽽不是客户端ssl_prefer_server_ciphers on;# 优先选择⽀持前向加密的算法,且按照性能的优先顺序排列ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;# 会话恢复的合理使⽤# 配置会话票证,减少了TLS握⼿的开销ssl_session_tickets on;然后执⾏检查nginx配置。
OAuth 2.0 中文译本
OAuth 2.0中文译本(一)背景知识OAuth 2.0很可能是下一代的“用户验证和授权”标准,目前在国内还没有很靠谱的技术资料。
为了弘扬“开放精神”,让业内的人更容易理解“开放平台”相关技术,进而长远地促进国内开放平台领域的发展,笔者特意将OAuth 2.0协议翻译成中文。
目前OAuth 2.0还没有最后定稿,最新的修改版是第11个版本,本文下面的翻译即基于这个第11版本。
原文见/html/draft-ietf-oauth-v2-11。
关于OAuth 2.0的更多背景知识,请参考我的另一篇文章:/mathml/readpaper?pid=65(二)术语中英对照表由于OAuth协议版本较多(1.0,1.0a,2.0等),并且各个版本中的技术术语也各不相同,关于英文技术术语与中文的对应关系,我们以OAuth 2.0的第11版本中的描述为准。
另外有一些情况,一些英文术语不容易找到普遍接受的汉语释义,翻译过来反而可能引起误解,而英文术语本身可能更容易理解,因此就不考虑对这部分词汇做翻译了。
比如,“web service”、“endpoint”、“user-agent”、“URI”、“cookie”等,你只需要知道它是什么就好了。
还有一些特别难于翻译的词汇,比如“profile”,这个词用在协议里,大概表示:协议功能的某个剖面、子集、子视图或轮廓。
如果翻译成“视图”,容易让人想到“view”这个词,产生冲突,最后,我在这里创造了一个新词汇:“子态”。
下面是整理出来的重要技术术语的中英对照表:云计算—— cloud computing第三方—— third-party应用/程序—— application私有证书—— credential身份验证—— authentication授权—— authorization明文—— clear-text客户端—— client {译者注:本文中的客户端与平常所说的“客户端”并不相同,是相对资源服务器和授权服务器来说的,它可能指第三方应用的服务器程序或客户端程序}服务器—— server资源拥有者—— resource owner受保护资源—— protected resource资源服务器—— resource server访问令牌—— access token授权服务器—— authorization server访问许可—— access grant实体—— entity签名—— signature刷新令牌—— refresh token作用域—— scope授权码—— authorization code标识符—— identifier密钥—— secret断言—— assertion原生程序—— native application子态—— profile同源策略—— same-origin policy回调—— callback自治的—— autonomous查询参数部分—— query component分段参数部分—— fragment component媒体类型—— media type厂商特性的—— vendor-specific增强型巴科斯范式—— ABNF互联网编号分配机构—— IANA互联网工程指导组—— IESG标准轨道—— standards-track(三)中文译本1. 引言随着分布式web service和云计算的使用越来越多,第三方应用需要能访问到一些服务器托管资源。
网络中常用的各种协议名称(中英文)和具体含义
⽹络中常⽤的各种协议名称(中英⽂)和具体含义TCP/IP协议(Transmission Control Protocol /Internet Protocol)传输控制协议/互联⽹协议(⽹际协议)FTP协议(File Transfer Protocol)⽂件传输协议SMTP协议(Simple Mail Transfer Protocol)简单邮件传输协议ECHO协议(Echo Protocol)回绕协议,⽤于查错及测量应答时间。
NTP协议(Network Time Protocol)⽹络时间协议,⽤于⽹络同步。
SNMP协议(Simple Network Management Protocol)简单⽹络管理协议⽤于⽹络信息的收集和⽹络管理。
HTTP协议(Hyper Text Transfer Protocol)超⽂本传输协议,⽀持万维⽹WWW的⼀种传输协议。
DHCP协议(Dynamic Host Configuration Protocol)动态主机配置协议动态配置IP地址的协议。
POP3协议(Post Office Protocol version3)邮局协议,主要功能是收邮件使⽤的。
ARP协议(Address Resolution Protocol)地址解析协议,⽤于动态解析以太⽹硬件地址的协议。
IPX/SPX协议即IPX(全称Interwork Packet Exchange⽹间数据包交换)与spx(全称Sequences Packet Exchange顺序包交换)协议的组合。
IPX协议负责数据包的传送,SPX负责数据包传输的完整性。
ICMP协议(Internet互联⽹控制报⽂(消息)协议),Internet Control Message ProtocolIGMP协议(Internet组管理协议)Internet Group Message ProtocolUDP协议(User DataGram Protocol)⽤户数据报协议。
TCPIP协议簇常见协议RFC对应表
常见协议RFC对应表COPS Common Open Policy Service公共开放策略服务FANP Flow Attribute Notification Protocol流属性通知协议Finger User Information Protocol用户信息协议FTP File Transfer Protocol文件传输协议HTTP Hypertext Transfer Protocol超文本传输协议IMAP4Internet Message Access Protocol version 4因特网信息访问协议第四版IMPP Instant Messaging and Presence Protocol即时信息表示协议IRC Internet Relay Chat Protocol Internet在线聊天协议ISAKMP Internet Security Association and Key Managemen Interne安全连接和密钥管理协议DNS Domain Name System域名系统DHCP Dynamic Host Configuration Protocol动态主机配置协议BOOTP Bootstrap Protocol引导协议NTP Network Time Protocol网络时间协议NNTP Network News Transfer Protocol网络新闻传输协议POP3Post Office Protocol version 3邮局协议第三版Radius Remote Authentication Dial In User Service远程用户拨号认证服务协议RLOGIN Remote Login远程登陆协议RTSP Real-time Streaming Protocol实时流协议SCTP Stream Control Transmision Protocol流控制传输协议S-HTTP Secure Hypertext Transfer Protocol安全超文本传输协议SLP Service Location Protocol服务定位协议SMTP Simple Mail Transfer Protocol简单邮件传输协议ICP Internet Cache Protocol Internet缓存协议SNMP Simple Network Management Protocol简单网络管理协议SOCKS Socket Secure安全套接字协议TACACS Terminal Access Controller Access Control System终端访问控制器访问控制系统TELNET TCP/IP Terminal Emulation Protocol TCP/IP终端仿真协议TFTP Trivial File Transfer Protocol简单文件传输协议X-Window X Window X WindowPresentation LayerNBSSN NetBIOS Session Service NetBIOS会话服务协议LPP LightWight Presentation Protocol轻量级表示协议Session LayerTLS Transport Layer Security传输层安全协议LDAP Lightweight Directory Access Protocol轻量级目录访问协议RPC Remote Procedure Call protocol 远程过程调用协议Transport LayerMobile IP Mobile IP Protocol移动IP协议RUDP Reliable User Datagram Protocol可靠的用户数据报协议TALI Transport Adapter Layer Interface传输适配层接口协议TCP Transmission Control Protocol传输控制协议UDP User Datagram Protocol用户数据报协议Van Jacobson compressed TCP压缩TCP协议XOT X.25 over TCP基于TCP之上的X.25协议Network LayerEGP Exterior Gateway Protocol外部网关协议OSPF Open Shortest Path First开放最短路径优先协议DVMRP Distance Vector Multicast Routing Protocol距离矢量组播路由协议ICMP Internet Control Message Protocol version 4Internet控制信息协议ICMPv6Internet Control Message Protocol version 6Internet控制信息协议第6版IGMP Internet Group Management Protocol Internet组管理协议IP Internet Protocol version 4互联网协议NHRP Next Hop Resolution Protocol下一跳解析协议IPv6Internet Protocol version 6互联网协议第6版MOSPF Mulitcast Open Shortest Path First组播开放最短路径优先协议PGM Pragamatic General Mulitcast Protocol实际通用组播协议PIM-SM Protocol Independent Multicast-Sparse Mode稀疏模式独立组播协议PIM-DM Protocol Independent Multicast-Dense Mode密集模式独立组播协议SLIP Serial Line IP串行线路IP协议MARS Multicast Address Resolution Server组播地址解析服务器协议RIP2Routing Information Protocol version 2路由信息协议第2版RIPng for IPv6Routing Information Protocol for IPv6IPv6路由信息协议RSVP Resource-Reservation Protocol 资源预留协议VRRP Virtual Router Redundancy Protocol虚拟路由器冗余协议AH Authentication Header Protocol认证头协议ESP Encapsulating Security Payload安全封装有效载荷协议Data Link LayerARP Address Resolution Protocol地址解析协议RARP Reverse Address Resolution Protocol逆向地址解析协议IARP Inverse Address Resolution Protocol逆向地址解析协议DCAP Data Link Switching Client Access Protocol数据转接客户访问协议MPLS Multi-Protocol Label Switching多协议标签交换协议ATMP Ascend Tunnel Management Protocol接入隧道管理协议L2F The Layer 2 Forwarding Protocol第二层转发协议L2TP Layer 2 Tunneling Protocol第二层隧道协议PPTP Point to Point Tunneling Protocol点对点隧道协议RFC 2748RFC 2129 RFC 1194,1196,1228RFC 959RFC 1945,2616RFC 1730RFC 3861RFC 1459RFC 2048RFC 4343RFC 2131RFC 951RFC 958RFC 977RFC 1939RFC 2138RFC 1258,1282RFC 2326RFC 2960RFC 2660RFC 2165RFC 821,2821RFC 2186RFC 1157RFC 1928RFC 1492RFC 854RFC 1350RFC 1198RFC 1001RFC 1085RFC 2246RFC 1777 RFC 1050,1057,1831RFC 2002RFC 908,1151RFC 3094RFC 793RFC 768RFC 1144RFC 1613RFC 827RFC 2178,2328RFC 1075RFC 792RFC 1885,2463 RFC 1112, 2236,3376RFC 791RFC 2332RFC 1883,2460RFC 1585RFC 3208RFC 2362RFC 3973RFC 1055RFC 2022RFC 2453RFC 2080RFC 2205,2750RFC 2338,3768RFC 2402RFC 2406RFC 826RFC 903RFC 2390RFC 2114RFC 3031,3032RFC 2107RFC 2341RFC 2661RFC 2637。
HTTP2.0协议中英文对照版
超文本传输协议版本 2IETF HTTP2草案(draft-ietf-httpbis-http2-13)摘要本规范描述了一种优化的超文本传输协议(HTTP)。
HTTP/2通过引进报头字段压缩以及多路复用来更有效利用网络资源、减少感知延迟。
另外还介绍了服务器推送规范。
本文档保持对HTTP/1.1的后向兼容,HTTP的现有的语义保持不变。
1 介绍The Hypertext Transfer Protocol (HTTP) is a wildly successful protocol. However, the HTTP/1.1 message format ([RFC7230], Section 3) was designed to be implemented with the tools at hand in the 1990s, not modern Web application performance. As such it has several characteristics that have a negative overall effect on application performance today.超文本传输协议(HTTP)是一个非常成功的协议。
但是HTTP/1.1 是针对90年代的情况而不是现代web应用的性能而设计的,导致它的一些特点已经对现代应用程序的性能产生负面影响。
In particular, HTTP/1.0 only allows one request to be outstanding at a time on a given connection. HTTP/1.1 pipelining only partially addressed request concurrency and suffers from head-of-line blocking. Therefore, clients that need to make many requests typically use multiple connections to a server in order to reduce latency.特别是,HTTP/1.0只允许在一个连接上建立一个当前未完成的请求。
httphttpshttp2.0
httphttpshttp2.0⼀.http状态码1. 1xx(信息性状态码,接受的请求正在处理)2. 2xx(成功状态码,请求正常处理完毕)200 OK204 No Content:请求成功但没有资源返回206 Partial Content:范围请求3. 3xx(重定向状态码,需要进⾏附加操作以完成请求)301 Moved Permanently:永久性重定向()302 Found:临时性重定向303 See Other:同302,⽤GET获取资源304 Not Modified:内容没有改,响应不包含主体部分(请求头If-None-Match对应响应头Etag,请求头If-Modified-Since对应响应头Last-Modified)307 Temporary Redirect:同3024. 4xx(客户端错误状态码,服务器⽆法处理请求)400 Bad Request:请求报⽂存在语法错误401 Unanuthority:请求需要通过认证,若之前以请求过1次,表⽰认证失败403 Forbidden:不允许访问404 Not Found:服务器⽆请求资源5. 5xx(服务端错误状态码,服务器处理请求出错)500 Internal Server Error:服务器在执⾏请求是发⽣错误503 Service Unavailable:现在在忙⽆法处理请求6. 301和302状态码都是浏览器在拿到服务器返回的这个状态码后会⾃动跳转到⼀个新的url,这个url可以从响应的Location头部中获取(⽤户看到的效果就是他输⼊的地址A瞬间变成了另⼀个地址B)。
区别在于301表⽰旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的⽹址交换为重定向之后的⽹址;302表⽰旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容⽽保存旧的⽹址。
http协议各版本的区别
http协议各版本的区别HTTP(Hypertext transfer protocol)超⽂本传输协议,是⼀个应⽤层的通信协议。
HTTP协议版本介绍:HTTP/0.9 :只接受GET⼀种请求⽅法,没有在通信中指定版本号,且不⽀持请求头。
由于该版本不⽀持POST⽅法,因此客户端⽆法向服务器传递太多信息。
HTTP/1.0 :第⼀个在通信中指定的版本号,⾄今被⼴泛采⽤,特别是在代理服务器中。
HTTP/1.1 :当前版本号,持久连接被默认采⽤,并能很好地配合代理服务器⼯作。
还⽀持以管道⽅式在同时发送多个请求,以便降低线路负载,提⾼传输速度。
HTTP/2.0 正在开发中······HTTP/1.1与HTTP/1.0的区别:1.persistent connection(持久连接)HTTP/1.0中,每对请求/ 响应都使⽤⼀个新的连接。
HTTP/1.1则⽀持持久连接(默认)。
2.Host域HTTP/1.1在请求消息头多⼀个Host域;HTTP/1.0 则没有这个域,建⽴TCP连接的时候已经指定了IP地址,⽽且默认⼀个IP地址只对应⼀个主机名,IP地址上只有⼀个host。
3.带宽优化HTTP/1.1中在请求消息中引⼊了range头域,它允许只请求资源的某个部分。
在响应消息中Content-Range头域声明了返回的这部分对象的偏移值和长度。
如果服务器相应地返回了对象所请求范围的内容,则响应码为206(Partial Content),它可以防⽌Cache将响应误以为是完整的⼀个对象。
请求消息中如果包含⽐较⼤的实体内容,但不确定服务器是否能够接收该请求(如是否有权限),此时若贸然发出带实体的请求,如果被拒绝也会浪费带宽。
HTTP/1.1加⼊了⼀个新的状态码100(Continue)。
客户端事先发送⼀个只带头域的请求,如果服务器因为权限拒绝了请求,就回送响应码 401(Unauthorized);如果服务器接收此请求就回送响应码100,客户端就可以继续发送带实体的完整请求了。
nginx支持http2协议
nginx⽀持http2协议1.http2协议HTTP 2.0 的主要⽬标是改进传输性能,实现低延迟和⾼吞吐量。
从另⼀⽅⾯看,HTTP 的⾼层协议语义并不会因为这次版本升级⽽受影响。
所有HTTP ⾸部、值,以及它们的使⽤场景都不会变。
现有的任何⽹站和应⽤,⽆需做任何修改都可以在HTTP 2.0 上跑起来。
不⽤为了利⽤HTTP 2.0 的好处⽽修改标记。
HTTP 服务器必须运⾏HTTP 2.0 协议,但⼤部分⽤户都不会因此⽽受到影响centos6安装参考:https:///2017/04/20/nginx%20http2%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85//littlesmallless/article/details/591732872.编译安装nginx#1.安装依赖[root@hadoop_node1 ~]# yum install -y gcc gcc-c++ pcre pcre-devel openssl-devel zlib zlib-devel#2.下载安装[root@hadoop_node1 ~]# cd /usr/local/src/[root@hadoop_node1 src]# wget /download/nginx-1.10.3.tar.gz[root@hadoop_node1 src]# tar xf nginx-1.10.3.tar.gz[root@hadoop_node1 src]# cd nginx-1.10.3/#3.编译参数[root@hadoop_node1 nginx-1.10.3]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.10.3 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module[root@hadoop_node1 nginx-1.10.3]# make && make install--with-http_v2_module ⽀持http2协议[root@hadoop_master nginx]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.10.3built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx-1.10.3 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module3.⽣成证书因为没有真的证书,所以⽣成⼀个伪证书[root@hadoop_node1 nginx-1.10.3]# ln -s /usr/local/nginx-1.10.3/ /usr/local/nginx[root@hadoop_node1 nginx-1.10.3]# cd /usr/local/nginx/conf/[root@hadoop_node1 conf]# mkdir key[root@hadoop_node1 conf]# cd key/#⾃定义密码[root@hadoop_node1 key]# openssl genrsa -des3 -out server.key 1024Generating RSA private key, 1024 bit long modulus..........++++++..........++++++e is 65537 (0x10001)Enter pass phrase for server.key:Verifying - Enter pass phrase for server.key:#签发证书[root@hadoop_node1 key]# openssl req -new -key server.key -out server.csrEnter pass phrase for server.key:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:BJLocality Name (eg, city) [Default City]:BJOrganization Name (eg, company) [Default Company Ltd]:SDUOrganizational Unit Name (eg, section) []:SACommon Name (eg, your name or your server's hostname) []:xiaojinEmail Address []:123@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:123456An optional company name []:123456[root@hadoop_node1 key]# cp server.key server.key.ori[root@hadoop_node1 key]# openssl rsa -in server.key.ori -out server.keyEnter pass phrase for server.key.ori:writing RSA key[root@hadoop_node1 key]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crtSignature oksubject=/C=CN/ST=BJ/L=BJ/O=SDU/OU=SA/CN=xiaojin/emailAddress=123@Getting Private key4.修改nginx的配置⽂件[root@hadoop_node1 conf]# cat nginx.confworker_processes 1;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name 10.0.0.71;if ($scheme ~ http) {return https://$server_name:8443$request_uri;}location / {root html;index index.html index.htm;}location = /50x.html {root html;}}server {listen 8443 ssl http2 default_server;server_name 10.0.0.71;ssl_certificate key/server.crt;ssl_certificate_key key/server.key;location / {root html;index index.html index.htm;}location = /50x.html {root html;}}}检查防⽕墙是否开启,是否开启8443和80端⼝ [root@hadoop_node1 conf]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT[root@hadoop_node1 conf]# iptables -I INPUT -p tcp --dport 8443 -j ACCEPT[root@hadoop_node1 conf]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx-1.10.3/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx-1.10.3/conf/nginx.conf test is successful[root@hadoop_node1 conf]# /usr/local/nginx/sbin/nginx[root@hadoop_node1 conf]# ss -lntup|grep 8tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=7582,fd=6),("nginx",pid=7581,fd=6))tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1885,fd=3))tcp LISTEN 0 128 *:8443 *:* users:(("nginx",pid=7582,fd=7),("nginx",pid=7581,fd=7))tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=1885,fd=4))验证⽅法⽅法⼀1. 使⽤Chrome访问启⽤的站点,⽐如Jackie的环境为https://10.0.0.71:8443。
ONVIF2.0中文协议原版
ONVIF2.0中文协议原版1 范围 (16)2 引用标准 (17)3 术语与定义 (19)3.1定义 (19)3.2缩写 (20)4 概述 (23)4.1W EB 服务 (23)4.2IP配置 (24)4.3设备发现 (24)4.4设备类型 (24)4.5设备管理 (25)4.5.1 功能 (25)4.5.2 网络 (25)4.5.3 系统 (26)4.5.4 系统信息检索 (26)4.5.5 固件升级 (26)4.5.6 系统还原 (26)4.5.7 安全 (26)4.6设备IO (27)4.7图像配置 (27)4.8媒体配置 (28)4.8.1 媒体配置文件 (28)4.9实时流 (30)4.10事件处理 (31)4.11PTZ控制 (31)4.12视频分析 (32)4.13分析设备 (34)4.14显示 (34)4.15接收器 (34)4.15.1 同步点 (34)4.16存储 (35)4.16.1 存储模式 (35)4.16.2 记录 (36)4.16.3 查找 (36)4.16.4 回放 (37)4.17安全 (37)5 WEB服务框架 (38)5.1服务概述 (38)5.1.1 服务要求 (38)5.2WSDL概述 (39)5.3命名空间 (40)5.4类型 (42)5.5消息 (43)5.6操作 (43)5.6.1 单向操作 (44)5.6.2 要求-应答操作类型 (44) 5.7端口类型 (45)5.8绑定 (45)5.9端口 (46)5.10服务 (46)5.11错误处理 (46)5.11.1 协议错误 (46)5.11.2 SOAP错误 (46)5.11.2.1常见的故障 (47) 5.11.2.2 具体的错误 (49) 5.11.2.3 HTTP错误 (49)5.12安全 (50)5.12.1 基于用户访问控制 (50)5.12.2 用户令牌配置文件 (50) 5.12.2.1密码推导 (51)5.12.2.1.1 例子 (51)6 IP配置 (52)7 设备发现 (52)7.1概述 (52)7.2操作模式 (52)7.3发现定义 (53)7.3.1 终端参考 (53)7.3.2 服务地址 (53)7.3.3 Hello (53)7.3.3.1类型 (53)7.3.3.2范围 (53)7.3.3.2.1例子 (54)7.3.3.3 地址 (55)7.3.4 探头和探头匹配 (55)7.3.5 解决和解决匹配 (55)7.3.6 BYE (55)7.3.7 SOAP错误信息 (55)7.4远程发现扩展 (56)7.4.1 网络情景 (56)7.4.2 发现代理 (58)7.4.2.1 直接的DP地址配置 (59) 7.4.2.2 域名服务记录的查找 (59) 7.4.3 远程hello和探头行为 (59) 7.4.4 客户端行为 (60)7.4.5 安全 (61)7.4.5.1 本地发现 (61)7.4.5.2 远程发现 (61)8设备管理 (62)8.1功能 (62)8.1.1获取WSDL的URL (62)8.1.2交换的功能 (62)8.2网络 (68)8.2.1获取主机 (68)8.2.2设置主机名 (68)8.2.3 获取 DNS配置 (68)8.2.4设置DNS (69)8.2.5获取NTP配置信息 (70)8.2.6 对设备设置NTP (70)8.2.7获取动态的DNS设置 (71) 8.2.8设置设备动态DNS (71)8.2.9 获取网络接口配置 (72)8.2.10 设置网络接口配置 (72)8.2.11 获取网络协议 (74)8.2.12 设置网络协议 (74)8.2.13 获取默认的网关 (74)8.2.14 设置默认网关 (75)8.2.15 获取0配置 (75)8.2.16 设置0配置 (76)8.2.17 获取IP地址过滤 (76)8.2.18 对IP地址过滤进行配置 (77) 8.2.19 增加IP地址过滤 (77)8.2.20 移除IP地址过滤 (78)8.2.21 IEEE 802.11配置 (79)8.2.21.1 SSID (79)8.2.21.2 基站模式 (79)8.2.21.3 多种无线网络配置 (79) 8.2.21.4 安全配置 (80)8.2.21.4.1 None 模式 (80)8.2.21.4.2 PSK模式 (80)8.2.21.4.3 IEEE 802.1X-2004 模式 (80) 8.2.21.5 获取DOT11的性能 (80)8.2.21.6 GetIEEE802.11状态 (81)8.2.21.7 扫描可用的IEEE802.11网络 (82) 8.3系统 (83)8.3.1设备信息 (83)8.3.2获取系统的URL (83)8.3.3备份 (84)8.3.5开始恢复系统 (85)8.3.6获取系统日期以及时间 (85)8.3.7设置系统日期以及时间 (86)8.3.8 出厂默认配置 (87)8.3.9 固件升级 (87)8.3.10 开始固件升级 (88)8.3.11 获取系统日志 (89)8.3.12 获取支持信息 (89)8.3.13 重启 (90)8.3.14 获取范围参数 (90)8.3.15设置范围参数 (91)8.3.16 添加范围参数 (91)8.3.17 移除范围参数 (91)8.3.18 获取发现模式 (92)8.3.19 设置发现模式 (92)8.3.20 获取远程发现方式 (93)8.3.21 设置远程发现方式 (93)8.3.22 获取远程DP地址 (94)8.3.23 配置远程DP地址 (94)8.4安全 (94)8.4.1获取访问策略 (95)8.4.2 设置访问策略 (95)8.4.3 获取用户 (95)8.4.4 创建用户 (96)8.4.5 删除用户 (97)8.4.6 对用户进行配置 (97)8.4.7 IEEE 802.1X配置 (98)8.4.7.1创建IEEE802.1X配置 (99)8.4.7.2对IEEE802.1X配置 (99)8.4.7.3 获取IEEE802.1X配置 (100)8.4.7.4获取IEEE802.1X配置 (100)8.4.7.5 删除IEEE802.1X配置 (101)8.4.8 创建签名证书 (101)8.4.9 获取证书 (102)8.4.10 获取CA证书 (103)8.4.11获取证书状态 (103)8.4.12 设置证书状态 (103)8.4.13获取证书请求 (104)8.4.14 获取客户证书状态 (104)8.4.15 设置客户认证状态 (105)8.4.16 下载设备证书 (105)8.4.17 利用私有密钥来链接下载设备证书 (106) 8.4.18 获取证书信息请求 (107)8.4.20 删除证书 (108)8.4.21 获取远程用户 (108)8.4.22 设置远程用户 (109)8.4.23获取终端参数 (110)8.5输入与输出 (110)8.5.1获取继电器输出 (110)8.5.2 对继电器输出进行配置 (111)8.5.3继电器触发输出 (111)8.5.4 辅助操作 (112)8.6与服务相关的错误代码 (112)9设备IO服务 (118)9.1视频输出 (118)9.1.1 获取视频输出集 (118)9.2视频输出配置 (119)9.2.1 获取视频输出配置 (119)9.2.2 设置视频输出配置 (120)9.2.3 获取视频输出配置选项集 (120) 9.3视频源 (121)9.3.1 获取视频源 (121)9.4视频源配置 (122)9.4.1 获取视频源配置 (122)9.4.2 设置视频源配置 (122)9.4.3 获取视频源多个配置选项 (123) 9.5音频输出 (124)9.5.1 获取多个音频输出 (124)9.6音频输出配置 (124)9.6.1 获取音频输出配置 (124)9.6.2 设置音频输出配置 (125)9.6.3 获取音频输出多个配置选项 (125) 9.7音频源 (126)9.7.1 获取音频源 (126)9.8音频源配置 (127)9.8.1 获取音频源配置 (127)9.8.2 设置音频源配置 (127)9.8.3 获取音频源多个配置选项 (128) 9.9继电器输出 (129)9.9.1 获取多个继电器输出 (129)9.9.2 设置继电器输出设置 (129)9.9.3 触发继电器输出 (130)9.10服务错误码 (131)10图像配置 (132)10.1图像设置 (132)10.1.2 设置图像设置 (134)10.1.3 获取选项 (135)10.1.4 移动 (135)10.1.5 获取运行选项 (136)10.1.6 停止 (137)10.1.7 获取图像状态 (137)10.2服务错误码 (138)11媒体配置 (139)11.1音视频编解码器 (139)11.2媒体文件 (140)11.2.1 创建媒体文件 (140)11.2.2 获取多个媒体文件 (141) 11.2.3 获取媒体文件 (141)11.2.4 添加视频源配置 (142)11.2.5 添加视频编码器配置 (142) 11.2.6 添加音频源配置 (143)11.2.7 添加音频源编码器配置 (144) 11.2.8 添加云台配置 (144)11.2.9 添加视频分析配置 (145) 11.2.10 添加元数据配置 (146) 11.2.11 添加音频输出配置 (147) 11.2.12 添加音频解码器配置 (147) 11.2.13 移除视频源配置 (148) 11.2.14 移除视频源编码器配置 (148) 11.2.15 移除音频源编码器配置 (149) 11.2.16 移除音频编码器配置 (149)11.2.17 移除云台配置 (150)11.2.18 移除视频分析配置 (151)11.2.19 移除元数据配置 (151)11.2.20 移除音频输出配置 (152)11.2.21 移除音频编码器配置 (152)11.2.22 删除媒体文件 (153)11.3视频源 (153)11.3.1 获取视频源集 (154)11.4视频源配置 (154)11.4.1 获取视频源配置集 (154)11.4.2 获取视频源配置 (154)11.4.3 获取多个兼容视频源配置 (155) 11.4.4 获取视频源配置选项 (155)11.4.5 设置视频源配置 (156)11.5视频编码器配置 (156)11.5.1 获取多个视频编码器配置 (157) 11.5.2 获取视频编码器配置 (157)11.5.3 获取多个兼容视频解码器配置 (157) 11.5.4 获取视频编码器配置选项集 (158) 11.5.5 修改视频编码器配置 (159)11.5.6 获取有效的视频编码数量 (160) 11.6音频源 (160)11.6.1 获取多个音频源 (160)11.7音频源配置 (161)11.7.1 获取多个音频源配置 (161)11.7.2 获取音频源配置 (161)11.7.3 获取兼容音频源配置集 (162) 11.7.4 获取音频源配置选项集 (162) 11.7.5 修改音频源配置 (163)11.8音频编码器配置 (164)11.8.1 获取多个音频编码器配置 (164) 11.8.2 获取音频源编码器配置 (164) 11.8.3 获取多个兼容音频编码器配置 (165) 11.8.4 获取音频编码器配置选项集 (165) 11.8.5 设置音频编码配置 (166)11.9视频分析配置 (167)11.9.1 获取多个视频分析配置 (167) 11.9.2 获取视频分析配置 (168)11.9.3 获取多个兼容视频分析配置 (168) 11.9.4 修改视频分析配置 (169)11.10元数据配置 (169)11.10.1 获取多个元数据配置 (170)11.10.2 获取元数据配置 (170)11.10.3 获取多个兼容元数据配置 (170) 11.10.4 获取元数据配置选项集 (171) 11.10.5 修改元数据配置 (171)11.11音频输出 (172)11.11.1 获取音频输出集 (172)11.12音频输出配置 (173)11.12.1 获取多个音频输出配置 (173) 11.12.2 获取音频输出配置 (173)11.12.3 获取多个兼容音频输出配置 (174) 11.12.4 获取音频输出配置选项集 (174) 11.12.5 设置音频输出配置 (175)11.13音频解码器配置 (175)11.13.1 获取多个音频解码器配置 (176) 11.13.2 获取音频解码器配置 (176)11.13.3 获取兼容音频解码器配置集 (176) 11.13.4 获取音频解码器配置选项集 (177) 11.13.5 设置音频解码器配置 (178)11.14音频通道模式 (178)11.15.1 获取Uri流 (179)11.16快照 (180)11.16.1 获取Uri快照 (180)11.17组播 (180)11.17.1 开始组播流 (180)11.17.2 停止组播流 (181)11.18同步点 (181)11.18.1 设置同步点 (181)11.19服务具体的错误码 (182)12 实时流 (184)12.1流媒体协议 (184)12.1.1传输格式 (184)12.1.1.1通过UDP的RTP数据传输 (184) 12.1.1.2 通过TCP传输RTP数据 (184) 12.1.1.3 RTP/RTSP/TCP (184)12.1.1.4 RTP/RTSP/HTTP/TCP (184) 12.1.2 媒体传输 (184)12.1.2.1 RTP (184)12.1.2.1.1 RTP元数据流 (186)12.1.2.2 RTCP (187)12.1.2.2.1媒体同步 (187)12.1.3 同步点 (188)12.1.4 通过RTP传输JPEG (188)12.1.4.1所有包的结构 (188)12.1.4.2 逻辑解码规范 (189)12.1.4.3支持的彩色空间和采样因素 (190) 12.1.4.4像素长宽比处理 (190)12.1.4.5 隔行扫描处理 (190)12.2媒体控制协议 (190)12.2.1流控制 (190)12.2.1.1 RTSP (191)12.2.1.1.1 保持RTSP会话的方法 (192)12.2.1.1.2 RTSP音频和视频同步 (192)12.2.1.1.4 RTSP消息的例子 (193)12.2.1.2 通过HTTP的RSTP (194)12.3往回通道连接 (194)12.3.1 RTSP协议请求的标签 (194)12.3.2双向连接的连接设置 (194)12.3.2.1 例一:没有往回支持的服务 (195)12.3.2.2 例二:使用ONVIF往回通道支持的服务 (195) 12.3.3组播流 (197)12.3.3.1例:多播设置 (197)12.4错误处理 (197)13.1持久性 (197)13.2接收端模式 (197)13.3接收命令 (198)13.3.1 获得多个接收器 (198)13.3.2 获得单个接收器 (198)13.3.3 创建接收器 (198)13.3.4 删除接收器 (199)13.3.5 配置接收器 (199)13.3.6 设计接收器模式 (200)13.3.7 获取接收机状态 (200)13.4事件 (200)13.4.1 改变状态 (200)13.4.2 连接失败 (201)13.5服务器错误码 (201)14 显示服务 (202)14.1窗格 (202)14.1.1 获得多个窗格配置 (203)14.1.2 获得单个窗格配置 (203)14.1.3 设置多个窗格配置 (204)14.1.4 设置单个窗格配置 (204)14.1.5 创建窗格配置 (205)14.1.6 删除窗格配置 (206)14.2布局 (206)14.2.1 获得布局 (206)14.2.2 设置布局 (207)14.3显示选项 (207)14.3.1 获取显示选项 (208)14.4事件 (208)14.4.1 解码错误事件 (208)14.5服务错误码 (209)15 事件处理 (210)15.1基本通知接口 (210)15.1.1 介绍 (210)15.1.2 要求 (211)15.2实时拉点通知接口 (212)15.2.1 创建 pull point subscription (213) 15.2.2 pull 消息 (213)15.3通知流接口 (214)15.4属性 (214)15.4.1 属性举例 (214)15.5通知结构 (215)15.5.1 通知消息 (215)15.5.1.1 事件例子 (216)15.5.2 消息格式 (216)15.5.3 属性举例,持续 (218)15.5.4 信息描述语言 (219)15.5.4.1 消息描述举例 (220)15.5.5 消息内容过滤器 (221)15.6同步点 (222)15.7主题结构 (222)15.7.1 ONVIF主题名字空间 (222)15.7.2 主题类型信息 (223)15.7.3 主题过滤器 (224)15.8获取事件属性 (225)15.9SOAP错误消息 (226)15.10通知例子 (226)15.10.1 获取事件属性请求 (226)15.10.2 获取事件属性应答 (227)15.10.3 创建PULLPOIT订阅 (228)15.10.4 创建PULLPOIT订阅应答 (229)15.10.5 拉消息请求 (230)15.10.6 拉消息应答 (230)15.10.7 退订请求 (232)15.10.8 退订应答 (232)15.11服务错误码 (233)16 PTZ控制 (233)16.1PTZ模型 (234)16.2PTZ节点 (234)16.2.1 获取所有节点(GetNodes) (235)16.2.2 获取节点(GetNode) (235)16.3PTZ配置 (236)16.3.1 读取所有配置命令(GetConfigurations) (237) 16.3.2 读取配置命令(GetConfiguration) (237)16.3.3 读取配置选项(GetConfigurationOptions) (237) 16.3.4 设置配置(SetConfiguration) (238)16.4移动操作 (239)16.4.1 绝对的移动(AbsoluteMove) (239)16.4.2 相对移动(RelativeMove) (240)16.4.3 连续移动(ContinuousMove) (241)16.4.4 停止(Stop) (242)16.4.5 读取状态(GetStatus) (242)16.5起始位置操作 (243)16.5.1 设置预设值(SetPreset) (243)16.5.2 读取所有预设值(GetPresets) (244)16.5.3 返回预设 (245)16.5.4 移除预设(RemovePreset) (246)16.6归位点操作 (246)16.6.1 转到归位点(GotoHomePosition) (246)16.6.2 设置归位点(SetHomePosition) (247)16.7辅助操作 (248)16.7.1 发送辅助命令(SendAuxiliaryCommand) (248) 16.8预定PTZ空间 (248)16.8.1 绝对的位置空间 (249)16.8.1.1 泛化的全方位移动空间 (249)16.8.1.2 泛化的变焦位置空间 (249)16.8.2 相对的转换空间 (249)16.8.2.1 泛化的方位转换空间 (250)16.8.2.2 泛化的变焦转换空间 (250)16.8.3 连续的速率空间 (250)16.8.3.1 泛化的方位速率空间 (250)16.8.3.2 泛化的变焦速率空间 (251)16.8.4 速度空间 (251)16.8.4.1 泛化的方位速度空间 (251)16.8.4.2 泛化的变焦速度空间 (252)16.9服务错误码 (252)17 视频分析 (255)17.1场景描述接口 (255)17.1.1 概述 (255)17.1.2 画面相关内容 (255)17.1.2.1时间关系 (256)17.1.2.2 空间关系 (256)17.1.3 场景元素 (258)17.1.3.1 对象 (258)17.1.3.2 对象树 (260)17.1.3.3 形状描述符 (262)17.2规则接口 (263)17.2.1 规则陈述 (263)17.2.2 规则描述语言 (264)17.2.3 规则标准 (265)17.2.3.1 线性检测器 (265)17.2.3.2 域检测器 (266)17.2.4 规则操作 (266)17.2.4.1 读取支持的操作(GetSupportedRules) (267)17.2.4.2 读取规则(GetRules) (267)17.2.4.3 创建规则(CreateRules) (267)17.2.4.4 修改规则(ModifyRules) (268)17.4.4.5 删除规则(DeleteRules) (269)17.3分析模块接口 (269)17.3.1 分析模块配置 (269)17.3.2 分析模块描述语言 (270)17.3.3 分析模块操作 (271)17.3.3.1 读取支持的分析模块(GetSupportedAnalysticsModule) (271)17.3.3.2 读取模块分析(GetAnalyticsModules) (271)17.3.3.3 创建分析模块(CreateAnalyticsModules) (271)17.3.3.4 修改分析模块(ModifyAnalyticsModules) (272)17.3.3.5 删除分析模块(DeleteAnalyticsModules) (273) 17.4服务错误码 (273)18分析设备 (275)18.1概述 (275)18.2分析引擎输入 (275)18.2.1获取分析引擎输入 (276)18.2.2获取分析引擎的输入 (276)18.2.3设置分析引擎的输入 (277)18.2.4 创建分析引擎输入 (277)18.2.5删除分析引擎输入 (278)18.3视频分析配置 (278)18.3.1 获取视频分析配置 (278)18.3.2 设置视频分析配置 (279)18.4分析引擎 (279)18.4.1获取分析引擎 (280)18.4.2 获取分析引擎 (280)18.5分析引擎控制 (280)18.5.1 GetAnalyticsEngineControls (281)18.5.2 获取分析引擎控制 (281)18.5.3设置分析引擎控制 (282)18.5.4 CreateAnalyticsEngineControl (282)18.5.5删除分析引擎控制 (283)18.6获取分析状态 (284)18.7输出流配置 (284)18.7.1 请求流的URL (284)19录制控制 (285)19.1介绍 (285)19.2一般要求 (287)19.3数据结构 (287)19.3.1 录制设置 (287)19.3.2 轨迹设置 (287)19.3.3 录制任务设置 (287)19.4创建录制 (288)19.5删除录制 (289)19.6获取录制集 (289)19.7设置录制配置 (290)19.8获取录制配置 (290)19.9创建轨道 (290)19.10删除轨道 (291)19.11获取轨道配置 (292)19.12设置轨道配置 (292)19.13创建录制任务 (293)19.14删除录制任务 (293)19.15获取录制任务集 (294)19.16设置录制任务配置 (294)19.17获取录制任务配置 (295)19.18设置录制模式 (295)19.19获取录制任务状态 (296)19.20事件 (297)19.20.1 录制任务状态变化 (297)19.20.2 设置变化 (297)19.20.3 删除数据 (298)19.20.4 录制和轨道的建立与删除 (298)19.21示例 (299)19.21.1 例1:单摄像头的安装录制 (299)19.21.2 例2:从一台摄像机录制多个流到一个单录制 (300)20 记录搜索 (301)20.1介绍 (301)20.2概念 (301)20.2.1 搜索方向 (301)20.2.2 记录事件 (301)20.2.3 查找对话 (302)20.2.4 查找范围 (302)20.2.4.1 包括的数据 (302)20.2.4.2 记录信息滤波器 (302)20.2.5 搜索过滤器 (302)20.3数据结构 (302)20.3.1 记录信息结构 (302)20.3.2 记录源信息结构 (303)20.3.3 跟踪信息结构 (303)20.3.4 列举查找状态 (303)20.3.5 媒体属性结构 (303)20.3.6 找事件结果结构 (304)20.3.7 找PTZ位置结果结构 (304)20.3.8 PTZ位置过滤结构 (304)20.3.9 元数据过滤结果 (304)20.3.10 找元数据结果结构 (304)20.4获取记录概要(G ET R ECORDING S UMMARY) (304)20.5读取记录信息(G ET R ECORDING I NFORMATION) (305)20.6读取媒体属性(G ET M EDIA A TTRIBUTES) (305)20.7找记录(F IND R ECORDINGS) (306)20.8获取记录搜索结果(G ET R ECORDING S EARCH R ESULTS)(306)20.9找事件(F IND E VENTS) (307)20.10读取事件搜索结果(G ET E VENT S EARCH R ESULTS)(308)20.11查找PTZ位置(F IND PTZP OSITION) (309)20.12读取PTZ位置搜索结果(G ET PTZP OSITION S EARCH R ESULTS) (310)20.13查找元数据(F IND M ETADATA) (310)20.14读取元数据搜索结果(G ET M ETADATA S EARCH R ESULTS) (311)20.15获取搜索状态(G ET S EARCH S TATE) (312)20.16结束搜索(E ND S EARCH) (313)20.17记录事件说明 (313)20.18XP ATH习惯用法 (314)21 重放控制 (316)21.1使用RTSP协议 (316)21.1.1 RTSP描述 (316)21.2RTP协议头部扩展 (316)21.2.1 NTP时间戳 (317)21.2.2 压缩JEPG头扩展的兼容 (317)21.3RTSP特性标签 (318)21.4启动播放 (318)21.4.1 领域范围 (319)21.4.2 速度控制头领域 (319)21.4.3 帧头字段 (319)21.4.4 同步点 (320)21.5回放 (320)21.5.1 数据包传输顺序 (320)21.5.2 RTP传输顺序号 (320)21.5.3 RTP时间戳 (321)21.6RTSP长连接 (321)21.7当前记录片段 (321)21.8结束片段 (321)21.9拖放 (321)21.10使用RTCP协议 (322)21.11重放命令 (322)21.11.1 重放命令 (322)21.11.2 重播配置 (323)21.11.3 设置重播配置 (323)21.11.4 获取重播配置 (323)21.11.5 服务指定的误码 (324)22 安全 (324)22.1传输层安全 (325)22.1.1 支持密码套 (325)22.1.2 服务器身份验证 (325)22.1.3 客户端认证 (325)22.2消息安全 (325)22.3IEEE802.1X (326)介绍ONVIF的目标是为了实现完全标准化的、可互操作性的网络视频服务,即使是由不同的网络视频供应商组成的产品。
生物软件OMIGA2.0中英文对照及简单介绍
1.Omiga 介绍2.软件下载安装3.序列下载(来源于NCBI)家猫味觉受体T1R3,mRNA(保存为fasta格式)小鼠味觉受体T1R3(保存为gb和fasta格式)褐家鼠T1R3蛋白序列(fasta格式)4.打开软件新建一个Project(项目)桌面——OMIGA文件——新建001 然后导入家猫和小鼠序列信息序列导入后5.File文件菜单(以家猫为例)print setup打印设置Save保存6.edit编辑undo复原至上一次保存后redo重做(撤销上次操作)paste as features粘贴功能select all 全选invert selection反向选择find查找(如ATCG)interpret ambiguities in search string在搜索字符串模糊查找?Go to 到序列哪个位置locate next selection定位下一个选择?options选项7.view视图complement互补链features特点,功能translation翻译为蛋白质序列select reading frames选择阅读框frames帧数brackets括号genetic code遗传密码display type显示类型rotate circular display旋转圆形显示rotate map旋转图restriction map限制性图谱filter过滤zoom放大labeling标签move ORF map 移动ORF到……一个8.Tools工具Create Edit Delete Feature特点功能(标注特殊片段) Commeplent互补链(所选链变为其互补链)Reverse逆转,颠倒(序列反向)Translate翻译(翻译后可保存,并可显示蛋白序列片段)Readback从指定密码子向左右读序列composition analysis view成分分析视图insert Ns 序列中插入N的个数Show as RNA以RNA链的形式显示9.search搜索restriction sites限制性酶切位点protel协议,协定common enzyme常见,通用的酶select enzymes选择酶Hide user defined enzymes隐藏用户定义的酶apply enzyme filter应用酶过滤ambiguous sequence matches含糊的序列匹配match all residues匹配所有残基exclude matches with N排除插入N的匹配exclude all ambiguities排除所有模棱两可的,有歧义的description描述enzymes available from most manufacturers多数厂家提供的酶asymmetric enzymes非对称酶symmetric enzymes对称酶recognition site识别位点current database当前数据库search parameters搜索参数all proteolytic agents所有蛋白制剂open reading frames开放性阅读框default默认standard genetic code— all ORFS over 50 bases标准遗传密码都—超过50个碱基ORFSproteolytic sites蛋白水解位点nucleic acid motifs核酸模体,基序search parameters搜索参数protocol协议eukaryotic regulatory真核监管,法规fungal真菌metal binding金属结合prokaryotic regulatory原核监管viral病毒ZINC finger锌指(一种常出现在DNA结合蛋白中的一种结构基元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超文本传输协议版本 2IETF HTTP2草案(draft-ietf-httpbis-http2-13)摘要本规范描述了一种优化的超文本传输协议(HTTP)。
HTTP/2通过引进报头字段压缩以及多路复用来更有效利用网络资源、减少感知延迟。
另外还介绍了服务器推送规范。
本文档保持对HTTP/1.1的后向兼容,HTTP的现有的语义保持不变。
1 介绍The Hypertext Transfer Protocol (HTTP) is a wildly successful protocol. However, the HTTP/1.1 message format ([RFC7230], Section 3) was designed to be implemented with the tools at hand in the 1990s, not modern Web application performance. As such it has several characteristics that have a negative overall effect on application performance today.超文本传输协议(HTTP)是一个非常成功的协议。
但是HTTP/1.1 是针对90年代的情况而不是现代web应用的性能而设计的,导致它的一些特点已经对现代应用程序的性能产生负面影响。
In particular, HTTP/1.0 only allows one request to be outstanding at a time on a given connection. HTTP/1.1 pipelining only partially addressed request concurrency and suffers from head-of-line blocking. Therefore, clients that need to make many requests typically use multiple connections to a server in order to reduce latency.特别是,HTTP/1.0只允许在一个连接上建立一个当前未完成的请求。
HTTP/1.1管道只部分处理了请求并发和报头阻塞的问题。
因此客户端需要发起多次请求通过数次连接服务器来减少延迟。
Furthermore, HTTP/1.1 header fields are often repetitive and verbose, which, in addition to generating more or larger network packets, can cause the small initial TCP [TCP] congestion window to quickly fill. This can result in excessive latency when multiple requests are made on a single new TCP connection.此外,HTTP/1.1的报头字段经常重复和冗长。
在产生更多或更大的网络数据包时,可能导致小的初始TCP堵塞窗口被快速填充。
这可能在多个请求建立在一个新的TCP连接时导致过度的延迟。
This specification addresses these issues by defining an optimized mapping of HTTP's semantics to an underlying connection. Specifically, it allows interleaving of request and response messages on the same connection and uses an efficient coding for HTTP header fields. It also allows prioritization of requests, letting more important requests complete more quickly, further improving performance.本协议通过定义一个优化的基础连接的HTTP语义映射来解决这些问题。
具体地,它允许在同一连接上交错地建立请求和响应消息,并使用高效率编码的HTTP报头字段。
它还允许请求的优先级,让更多的重要的请求更快速的完成,进一步提升了性能。
The resulting protocol is designed to be more friendly to the network, because fewer TCP connections can be used in comparison to HTTP/1.x. This means less competition with other flows, and longer-lived connections, which in turn leads to better utilization of available network capacity.最终协议设计为对网络更友好,因为它相对HTTP/1.x减少了TCP连接。
这意味着与其他流更少的竞争以及更长时间的连接,从而更有效地利用可用的网络容量。
Finally, this encapsulation also enables more efficient processing of messages through use of binary message framing.最后,这种封装也通过使用二进制消息帧使信息处理更具扩展性。
2 HTTP / 2协议概述HTTP/2 provides an optimized transport for HTTP semantics. HTTP/2 supports all of the core features of HTTP/1.1, but aims to be more efficient in several ways.HTTP/2 提供了HTTP语义的传输优化。
HTTP/2支持所有HTTP/1.1的核心特征,并且在不同的方面做的更高效。
The basic protocol unit in HTTP/2 is a frame (Section 4.1). Each frame type serves a different purpose. For example, HEADERS and DATA frames form the basis of HTTP requests and responses (Section 8.1); other frame types like SETTINGS, WINDOW_UPDATE, and PUSH_PROMISE are used in support of other HTTP/2 features.HTTP/2中基本的协议单位是帧。
每个帧都有不同的类型和用途。
例如,报头(HEADERS)和数据(DATA)帧组成了基本的HTTP 请求和响应;其他帧例如设置(SETTINGS),窗口更新(WINDOW_UPDATE), 和推送承诺(PUSH_PROMISE)是用来实现HTTP/2的其他功能。
Multiplexing of requests is achieved by having each HTTP request-response exchanged assigned to a single stream (Section 5). Streams are largely independent of each other, so a blocked or stalled request does not prevent progress on other requests.请求多路复用是通过在一个流上分配多个HTTP请求响应交换来实现的(章节5)。
流在很大程度上是相互独立的,因此一个请求上的阻塞或终止并不会影响其他请求的处理。
Flow control and prioritization ensure that it is possible to properly use multiplexed streams. Flow control (Section 5.2) helps to ensure that only data that can be used by a receiver is transmitted. Prioritization (Section 5.3) ensures that limited resources can be directed to the most important requests first.流量控制和优先级能确保正确使用复用流。
流量控制(章节5.2)有助于确保只传播接受者需要使用的数据数据。
优先级(章节5.3)能确保有限的资源能优先被重要的请求使用。
HTTP/2 adds a new interaction mode, whereby a server can push responses to a client (Section 8.2). Server push allows a server to speculatively send a client data that the server anticipates the client will need, trading off some network usage against a potential latency gain. The server does this by synthesizing a request, which it sends as a PUSH_PROMISE frame. The server is then able to send a response to the synthetic request on a separate stream.HTTP/2添加了一种新的交互模式,即服务器能推送消息给客户端。
服务器推送允许服务端预测客户端需要来发送数据给客户端,交换网络的使用来阻止潜在的延迟增长。
服务器通过复用一个以PUSH_PROMISE帧发送的请求来实现推送,然后服务端可以在一个单独的流里面发送响应给这个合成的请求。