在最早的http协议中,每进行一次http通信,就需要做一次tcp的连接。而一次连接需要进行3次握手,这种通信方式会增加通信量的开销。 

每次请求都要建立连接吗?

所以在HTTP/1.1中改用了持久连接,就是在一次连接建立之后,只要客户端或者服务端没有明确提出断开连接,那么这个tcp连接会一直保持连接状态 

持久连接的一个最大的好处是:大大减少了连接的建立以及关闭时延。 

HTTP1.1中有一个Transport段。会携带一个 Connection:Keep-Alive,表示希望将此条连接作为持久连接。 

HTTP/1.1持久连接在默认情况下是**的,除非特别指明,否则HTTP/1.1假定所有的连接都是持久的,要在事务处理结束之后将连接关闭,HTTP/1.1应用程序必须向报文中显示地添加一个Connection:close首部。 

HTTP1.1客户端加载在收到响应后,除非响应中包含了Connection:close首部,不然HTTP/1.1连接就仍然维持在打开状态。但是,客户端和服务器仍然可以随时关闭空闲的连接。不发送Connection:close并不意味这服务器承诺永远将连接保持在打开状态。 

管道化连接: http/1.1允许在持久连接上使用请求管道。以前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。

每次请求都要建立连接吗?

 

相关文章:

  • 2021-04-20
  • 2021-11-19
  • 2021-11-15
  • 2021-05-08
  • 2021-04-12
  • 2021-08-14
  • 2021-06-29
  • 2021-10-16
猜你喜欢
  • 2022-12-23
  • 2022-01-08
  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
相关资源
相似解决方案