http httphotoshop http2 http3
http http2 http3 https
http: 一个简单的请求响应协议(进行超文本,文本,图像、视频的传输)
http和tcp的关系
http指定了客户端可能发送给服务器什么的消息以及得到什么样的响应;Tcp只是http的工具人,http把数据交给tcp传输
tcp和udp:
他们的作用都会建立连接,数据传输通道;但是tcp会对数据进行分组和排序,可以保证数据不会丢失;udp不提供数据包分组和排序,传输数据快,无法确定数据的安全,数据可能会丢失
http特点:超文本、灵活可拓展,请求-应答,无状态,明文
分组大数据传输时需要设置 TRansfer-Encoding: chunked(不可与 content-length 同时使用)
短链接:请求一次就会有一次响应,就会建立 TCP 数据传输通道,任务结束,通道关闭
长链接:设置 Connection:keep-alive 就可以保持 TCP 通道在一段时间内不会失效,可以发送和接受多个数据请求 ,手动设置 Connection:close,关闭链接
https
在http的基础上加入了SSL验证
数据加密过程:
客户端发起请求=>服务器返回一个Y公钥给客户端=>客户端随机生成一个秘钥X,通过公钥Y加密后传给服务器=>服务器通过公钥Y解析得到秘钥X,把数据通过秘钥X加密后传给客户端=>客户端拿到数据后通过秘钥X解密
http2
HTTP2中:同域名下的所有通信都在单个连接上完成,这个连接可以承载任意数量的双向数据流。数据流一消息的形式传递,消息有一个或多个帧组成。多帧乱序发送,根据帧首部标识重新组合。
头部压缩:
http2在客户端和服务端使用一个表来存储和定位之前发送的键值对,相同的数据,不再通过每次请求和响应发送
服务器推送:服务器可以在发送页面Html时主动推送其他资源。例如:服务端主动将css,js文件主动推送给客户端,不需要等到下次客户端解析html再发送请求
Http3
http3摒弃了TCP(稳定可靠),采用了极快但是可靠的UDP(原来的UDP快但是不可靠,数据可能会丢失) 新增了QUIC协议
QUIC协议
- QUIC协议提供类似于HTTP2的流功能
- QUIC协议使用流ID取代IP和端口,这样就能实现连接迁移。例如说从4G信号切换到wifi,下层的IP和端口变了,但是由于QUIC的流ID没有变,这个连接不会变,可以继续使用这个连接。
总结
这三者,都用TCP的握手协议去理解,都是握手,不同的是握手方式不一样。
HTTPS 是类似于 TCP 握手的工作方式,先工作在 HTTP1 上,通过 HTTP1 传递交换得到秘钥,然后切换到 HTTPS 上工作;
HTTP2也是基于 TLS 的,所以 HTTP 2 的工作方式和 HTTPS 也是同样的过程,需要握手建立 TLS 连接,只是 TLS 连接完成后,发送一个 HTTP2 的连接确认消息,确认后,客户端服务器使用HTTP2进行连接通讯。
HTTP3 首先要建立好 HTTP 2 连接,然后发送 HTTP 2 扩展帧,这个帧包含IP和端口,浏览器收到扩展帧,使用该 IP 和端口,使用 QUIC 建立连接,如果成功,断开 HTTP2,升级为HTTP3。
原文链接:https://blog.csdn.net/majing0520/article/details/114070732
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfcffe
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01