前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >const web = HTTP1.1 => HTTP2.0

const web = HTTP1.1 => HTTP2.0

作者头像
Jean
发布2018-10-11 17:28:07
4570
发布2018-10-11 17:28:07
举报
文章被收录于专栏:Web行业观察

概览

HTTP/2.0是下一代HTTP协议, 由IETF的 [httpbis] 工作小组进行开发。自1999年http1.1发布后的首个更新, HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击, DANE RFC6698允许域名管理员不通过第三方CA自行发行证书。这次重大变革带来了我们耳熟能详的websocket标准, 新的webpack支持等新特性.

长链接

  • http1.0
  • 每对Request/Response都使用一个新的连接。
  • 不支持断点续传,每次都从RANGE:0(http1.1新增加字段)开始 其中HTTP1.0需要在request中增加”Connection: keep-alive“ header才能够支持,而HTTP1.1默认支持
  • http1.1
  • 默认使用长链接,在同一个tcp链接可以传送多个http请求和响应,同时也支持更多的请求头和响应头b.允许同时在一条条件上发送多个请求,但是服务端必须按照接收请求的先后顺序发送应答包c.host请求头字段,明确标识服务器上的web站点,http1.1还提供了身份认证、状态管理和cache缓存机制相关的头

带宽优化

  • HTTP/1.1中在请求消息中引入了range头域,在响应消息中Content-Range头域声明了返回的这部分对象的偏移值和长度。如果服务器相应地返回了对象所请求范围的内容,则响应码为206(Partial Content),它可以防止Cache将响应误以为是完整的一个对象。
  • HTTP/1.1加入了一个新的状态码100(Continue),客户端事先发送一个只带头域的请求,拒绝发送401; 接受则发送100,客户端就可以继续发送带实体的完整请求了

消息传递

  • HTTP/1.1中引入了Chunkedtransfer-coding来解决缓存完整消息带来的性能问题,发送方将消息分割成若干个任意大小的数据块,每个数据块在发送时都会附上块的长度,最后用一个零长度的块作为消息结束的标志。这种方法允许发送方只缓冲消息的一个片段,避免缓冲整个消息带来的过载
  • 在HTTP/1.0中,有一个Content-MD5的头域,要计算这个头域需要发送方缓冲完整个消息后才能进行。而HTTP/1.1中,采用chunked分块传递的消息在最后一个块(零长度)结束之后会再传递一个拖尾(trailer),它包含一个或多个头域,这些头域是发送方在传递完所有块之后再计算出值的。发送方会在消息中包含一个Trailer头域告诉接收方这个拖尾的存在。

响应码

  • 在HTTP/1.1中新增了24个状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

多路复用

HTTP/1.1 协议中 「浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞;多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。

头部压缩

http1.1不支持头部压缩, http2.0 支持头部压缩的hpack算法 http2.0使用二进制数据流(实现方便且健壮) http2.0没有改变http1.1的语义,而是在http1.1的header和body重新封装了一层

流量控制

http2.0支持流量控制,和tcp的sliding window类似。http2.0 类似的使用receive window 的做法

更安全的ssl

使用tls的alpn来做协议升级,且通过黑名单机制禁用几百种不再安全的加密算法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebHub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 长链接
  • 带宽优化
  • 消息传递
  • 响应码
  • 多路复用
  • 头部压缩
  • 流量控制
  • 更安全的ssl
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档