Aimee

personal blog

欢迎来到我的个人站~


http

网络和并发

http 1.0/1.1/2.0 在并发请求上的主要区别是什么?

  1. HTTP/1.0 每次TCP连接都只能发送一个请求,当服务器响应后就会关闭此次连接,下次再发请求还需要再次建立tcp连接

  2. http/1.1 默认采用持续连接,tcp连接默认不关闭,,可以被多个请求服用,不用显式的声明keep-alive 增加了管道机制,在同一个tcp连接里,允许多个请求同时发送,增加了一定的并发性 同一个tcp连接里,所有的数据通信是按照顺序进行的,如果服务器响应慢,会有很多的请求在排队,造成“队头阻塞”

  3. http/2.0 加了双工模式,客服端可以同时发送多个请求,服务器也可以同时响应多个请求,解决了http的队头阻塞问题,使用了多路复用技术,同一个tcp连接可以并发处理多个请求

服务端推送 服务器可以主动向客户端发送数据

http/1.1长连接(keep-alive)和http/2.0多路复用的区别?

1.1: 同一时间一个tcp连接只能处理一个请求,采用一问一答的形式,上一个请求响应后才能处理下一个请求,由于浏览器最大连接数的限制,所以才会有最大并发请求数的限制

2.0 :同域名下的所有通信都在单个连接上完成

http/1.1为什么不能实现多路复用呢?

http/2.0 基于二进制帧的协议 http/1.1基于文本分割解析的协议