fengzhao / fengzhao/fengzhao-notes
关于 http1.0-1.1-2.0 对请求并发数和tcp连接
- Linguagem predominante
- Shell
- Estrelas
- 16
- Forks
- 1
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
- **浏览器与服务器建立一个TCP连接后,是否会在完成一个http请求后断开?什么条件下会断开?**
在 HTTP/1.0 中,一个服务器在发送完一个 HTTP 响应后,会断开 TCP 连接。
但是这样每次请求都会重新建立和断开 TCP 连接,代价开销过大。所以虽然 HTTP 标准中没有设定,某些服务器对 Connection: keep-alive 的 Header 进行了支持。意思是说,完成这个 HTTP 请求之后,不要断开 HTTP 请求使用的 TCP 连接。这样的好处是连接可以被重新使用,之后发送 HTTP 请求的时候不需要重新建立 TCP 连接,以及如果维持连接,那么 SSL 的开销也可以避免。
持久连接:既然维持 TCP 连接好处这么多,HTTP/1.1 就把 Connection 头写进标准,并且默认开启持久连接,除非请求中写明 Connection: close,那么浏览器和服务器之间是会维持一段时间的 TCP 连接,不会一个请求结束就断掉。
**默认情况下,新建立的 TCP 连接不会断开,只有在HTTP请求报头中主动声明 Connection: close 才会在请求完成后关闭连接。**
- **一个TCP连接可以同时发送几个HTTP请求?**
在持久连接的情况下,一个tcp连接是可以发送多个HTTP请求的,
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Avaliação
Esta issue ainda não foi avaliada.