http1 和 http2

148 阅读2分钟

什么是HTTP ?

超文本传输协议,实现请求和响应,基于TCP/IP协议传输数据。

白话文解释: 计算机和计算机之间进行通信,他们要制定一个通讯的标准(这个标准要不仅要适用于两个之间通信,还要适用于和其它计算机之间的通讯,就定义了一个通讯的标准规范,这个规范就是http超文本传输协议(比如:英语是世界流行语言,那就用英语作为全世界沟通的一个语言))

tcp是干嘛的呢

三次握手,四次挥手 白话文解释: 双方建立连接之前需要做的事情,确认对方是不是在线,能不能建立联系,断开后确保对方都能知道对方的一个断开状态,避免无效等待和多次无效沟通

ip是什么呢?

白话文解释: 计算器的地址,ip他是唯一地址,比如两个人写信,寄信和收信需要填写地址,如果地址不准确,那就出现邮递员找不到收件人。

完整的http请求过程

三次握手完成,直接发起http请求,四次挥手断开连接

http1 和 http2 的区别

不同浏览器对同一域名,同时建立连接只支持是6-8个,超过上线就会出现阻塞的。

http1 :它只能等待之前的连接断开之后,建立连接,就可能出现了阻塞,而且每次建立连接都需要进行三次握手。

http2:它使采用了链路复用,将http1中的等待的过程给干掉了,当一个连接占用了线路,在等待服务器返回资源时,下一个http请求不会等待,直接使用当前这个链路,进行请求,且不用在进行三次握手的操作,节省了握手的时间和等待的时间,提高了效率

http1:使用传输方式是字符串传输,文本存在很多种格式:比如有文字,字符串,各种符号...,服务器解析这种复杂组合,需要更多时间处理 http2:使用二进制传输,01组合,相对字符串,组合场景更加简单,2.0采用二进制格式,组合场景少,检索快,响应就会快。

http2:头部压缩。头部带有大量的信息,http1,每次都重复发送,HTTP2使用头部压缩后,服务器和客户端共同维护一张头部信息表,所有字段都记录其中,后面的传输只需要传输表中的索引ID,通过索引ID就能获取到表中的头部信息

http2:服务端推送(当你访问摸一个资源时,它可以检索到你需要使用的依赖资源,即使你没有向服务器索取,他也会将这个依赖资源推送会客户端)