TCP 连接与 HTTP 请求的相关问题

Posted wueryuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP 连接与 HTTP 请求的相关问题相关的知识,希望对你有一定的参考价值。

1、现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?

默认情况下建立 TCP 连接不会断开,只有在请求报头中声明 Connection: close 才会在请求完成后关闭连接。

2、一个 TCP 连接可以对应几个 HTTP 请求?

如果维持连接,一个 TCP 连接是可以发送多个 HTTP 请求的。

3、一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)?

在 HTTP/1.1 存在 Pipelining 技术可以完成这个多个请求同时发送,但是由于浏览器默认关闭,所以可以认为这是不可行的。在 HTTP2 中由于 Multiplexing 特点的存在,多个 HTTP 请求可以在同一个 TCP 连接中并行进行。

4、为什么有的时候刷新页面不需要重新建立 SSL 连接?

TCP 连接有的时候会被浏览器和服务端维持一段时间。TCP 不需要重新建立,SSL 自然也会用之前的。

5、浏览器对同一 Host 建立 TCP 连接到数量有没有限制?

有。Chrome 最多允许对同一个 Host 建立六个 TCP 连接。不同的浏览器有一些区别。

以上是关于TCP 连接与 HTTP 请求的相关问题的主要内容,如果未能解决你的问题,请参考以下文章

面试被问http协议?这篇文章足够覆盖所有相关问题!

面试被问http协议?这篇文章足够覆盖所有相关问题!

面试被问http协议?这篇文章足够覆盖所有相关问题!

02 网络面经:一个TCP连接可以发送多少个HTTP请求?

02 网络面经:一个TCP连接可以发送多少个HTTP请求?

HTTP协议相关面试题