当前位置: 首页 > Web前端 > HTML

再说说http2.0

时间:2023-04-03 00:43:51 HTML

1。我们知道http协议。从一开始,客户端就与服务器进行通信,并根据连接进行请求和响应。HTTP1.0时代,连接是不能复用的。每次下订单,都强制注销/关机。下次下单需重新登录。为了解决http1.0的单链接,http1.1提出保持链接设置Connection:Keep-Alivehttp1.1默认开启keep-alive,但是在keep-alive的上下文中,必须等到request1完成后再继续处理2、3是浪费时间,所以提出了HTTPpipelining。不用等请求1完成,直接继续2、3、4即可,可惜服务器是按顺序处理的。如果服务1没有响应,那么2、3、4服务需要原地等待,只有1处理完成后,才能处理后面的2、3、4。为了解决这个问题,服务器需要增加几个通道,建立多个链接,即使其中一个请求被阻塞,也不会影响其他的。但这并不能解决问题。例如,如果建立多个链接,链接的数量是有限的。每次换一个服务链接,都要重新摇3次TCP,容易造成服务断开。随着服务的增加,点单只能按照先进先出的顺序排队,但拥堵还是很严重。于是这里创建了SPDY协议,并在此基础上起草了http2.0协议。综上所述,HTTP/1.1和HTTP/1.0协议的区别主要体现在:1缓存处理2带宽优化和网络连接的使用3错误通知的管理4网络中消息的发送5互联网地址的维护6安全性和完整性常用的请求方式GET请求获取Request-URI标识的资源DataHEAD请求获取Request-URI标识的资源的响应消息头PUT请求服务器存储一个资源,并使用Request-URI作为其标识DELETE请求服务器删除Request-URI标识的资源TRACE请求服务器返回接收到的请求信息,主要用于测试或诊断resource-relatedoptionsandrequirements为了从服务器获取资源,POST方法要求被请求的服务器接受附加在请求中的数据,这通常用于提交表单。GET用于获取数据,POST一般用于向服务器发送数据。HTTP1.1状态码及其含义状态码由三位数字组成,第一个数字定义了响应的类型,有五个可能的值:1xx:指示信息——表示请求已收到,继续处理2xx:成功--表示请求已被成功接收、理解和接受3xx:重定向--必须执行进一步的操作才能完成请求4xx:Clienterror--请求有语法错误或请求无法执行5xx:Server-sideerror--服务器失败实现合法请求2.多路复用多路复用,即单个链路同时传输多个业务单元的数据。通过多路复用,在同一个交易通道上,可以同时完成所有客户订单的采购和交付。客户只需在每笔订单上注明ID,货物将单独发货。ID可以重新拼装,不会因为某个包裹的延误而耽误整体派送进度。简而言之就是打包服务请求的优先级——如果订单2的产品特别重要,在订单2上留言,服务器收到订单后,会优先处理订单2的包裹。同时,服务器评估订单5为短保品,需要尽快发货,订单5优先发货。头部压缩HTTP1.X的头部越来越膨胀,很多都是重复冗余的。HTTP2.0可以压缩header的大小,避免重复传输,可以大大降低延迟。就像货物越轻,交货速度越快。HTTP2.0协议下,卖家发货时会将多余的包装扔掉,让买家更快收到货!服务端推送是定时服务端推送是HTTP2.0的一大亮点。客户端下单1后,服务器预判客户端可能需要下单2、3、4……,然后主动发货。这种主动推送机制可以节省接下来几次请求的耗时,提高访问速度。借助HTTP2.0,卖家(网站)可以更快地将内容呈现给买家(用户)。参考原文地址