浏览器建立TCP连接之后,完成一次HTTP请求,是否会断开?

在http/1.0中,一个服务器发送完http响应后,会断开TCP连接。但是这样每次请求都会重新建立和断开TCP连接,开销太大。

所以,虽然标准中没有设定,但是某些服务器对Connection:keep-alive的Header进行了支持。Connection:keep-alive的作用是保持连接,即完成本次HTTP请求后,不断开HTTP请求使用的TCP连接。这样的好处是连接可以被重复使用,之后发送HTTP请求的时候就不用再重新建立TCP连接了。

HTTP协议Header中的Connection属性决定了连接是否持久,不同HTTP协议版本有所不同。

HTTP/1.0中Connection默认为close,即每次请求都会重新建立和断开TCP连接。

HTTP/1.1中Connection默认为keep-alive,即连接可以复用,不用每次都重新建立和断开TCP连接。超时之后没有连接则主动断开。可以通过声明Connection为close进行关闭。

所以说,默认情况下(HTTP/1.1),浏览器建立TCP连接之后,完成一次HTTP请求,不会断开。只有在请求报头中通过声明Connection:close才会关闭连接。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花