首页 > 其他分享 >一个TCP连接可以发送多少个HTTP请求?

一个TCP连接可以发送多少个HTTP请求?

时间:2023-01-01 10:33:50浏览次数:69  
标签:浏览器 请求 http TCP 发送 HTTP 连接

想要回答这个问题先要知道这5个问题:

1.TCP连接是否会在一个请求结束后就断开链接?

在HTTP1.0中一个服务器在发送完一个http响应后会断开tcp链接,每次请求都会重新建立和断开tcp连接,这样代价就很大,虽然http标准中没有设定但是在某些服务器header中对connection keep alive进行支持,这样设置的目的是完成请求后不要立即进行断开,连接可以重复使用,再次发送http请求的时候不需要重新建立连接,同时维持连接ssl开销也可以避免。在http1.1中就把connection头写进标准,并默认开启持久连接。除非请求头中写明connection close,不然浏览器和服务器之间会维持一段时间的TCP连接。问题的答案是:默认情况下建立TCP连接不会断开,只有在请求头中声明connection:close才会在请求完成之后断开连接。

2.一个TCP连接可以发送多少个HTTP请求?

一个tcp连接可以发送多个http请求

3.一个TCP连接中的多个http请求可以一起发送吗?

http1.1存在一个问题,单个TCP连接在同一时刻只能处理一个请求,也就是两个请求的生命周期不能重叠。在http1.1存在流水线技术可以完成多个请求同时发送但是由于浏览器默认是关闭的,所以认为这是不可行的。在http2中由于多路传输特性的存在多个http请求可以在同一个TCP连接中并行发送。在http1.1时代浏览器是如何提高页面加载效率的呢?首先维持和服务器已经建立的TCP连接,在同一个连接上顺序处理多个请求,其次和服务器建立多个TCP链接。

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

因为tcp链接有的时候会被浏览器和服务器维持一段时间,tcp不需要重新建立连接那ssl自然也会使用之前的。

5.客户端对同一个host建立的TCP连接数有没有限制?

有数量限制,不同的浏览器有一些区别,chrome浏览器最多允许对同一个host建立6个TCP连接

 

总结:页面如果包含几十个图片标签,这些图片是以什么方式、什么顺序建立了多少连接、使用什么协议被下载下来的呢?如果图片都是https连接,并且都是在同一个域名下,那么浏览器在SSL握手之后会和服务器协商能不能用HTTP 2,如果能就会使用多路传输特性在这个连接上进行多路传输,不过也未必所有挂在这个域名下的资源都会使用同一个TCP连接去获取。可以确定的是多路传输特性很可能会被用到。如果发现用不了HTTP 2,或者用不了https,应为现实中的http2都是基于https实现的,所以只能使用http1.1,那浏览器就会在一个host上建立多个TCP连接,连接数量的最大限制取决于浏览器的限制,这些连接会在空闲的时候被浏览器用来发送新的请求。如果所有的连接都正在发送请求的话那其他的请求就只能等待了。

 

标签:浏览器,请求,http,TCP,发送,HTTP,连接
From: https://www.cnblogs.com/doumenwangjian/p/17017729.html

相关文章

  • 加解密与HTTPS(3)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~  除了对称加密算法和非对称加密算法,再就是最后的一种加密算法了:不可逆加密算法。对称加密算法和非对称加密算法在......
  • http状态码
    一、什么是状态码HTTP状态码(HTTPStatusCode)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC2616规范定义的,并得到RFC2518、RFC2817、RFC2295、RFC2774、R......
  • Nginx 安装 SSL 配置 HTTPS 超详细完整全过程
    在Nginx或Tengine服务器上安装证书说到 ​​Nginx​​​ 服务器,个人认为最大特点就是轻量级和高性能。通过在几台不同的服务器上进行测试,发现它的并发能力特别强,并且相对......
  • TCP的三次握手四次挥手详解
    想要了解TCP的三次握手和四次挥手,首先要了解TCP的头部结构TCP的头部结构如下16位源端口号:客户端地址信息16位目标端口号:服务端地址信息32位序列号:请求报文端数据流子节开......
  • TCP IP网络编程 IO分离
    IO流分离  在《套接字与标准IO》中介绍,调用fopen函数打开文件后,可以与文件进行交换数据。因此可以说调用fopen函数之后创建了"流(stream)",此处的"指"数据流动,但是通常......
  • HTTP协议初见
    HTTP协议四大特性基于请求端响应​ 客户端发送请求,服务端才响应,服务端不会主动给客户端发送响应。基于TCP/IP作用于应用层之上的协议​ 此协议属于应用层......
  • 3.Tomcat&4.Http
    3.Tomcat&4.Http3.Tomcat3.1、安装Tomcattomcat官网:https://tomcat.apache.org/3.2、Tomcat启动和配置文件夹作用:启动、关闭Tomcat访问测试:http://localhost:808......
  • node.js编写反向代理转发https
    node.js编写反向代理转发httpsconstcrypto=require("crypto");constmd5=function(str){constmd5=crypto.createHash('md5');md5.update(str);......
  • SpringBoot - HttpServletRequest 与 HttpServletResponse 常用方法
    HttpServletRequest常用方法-CSDNHttpServletResponse常用方法-CSDN......
  • tcp 拥塞控制优化网址
    TCP拥塞控制优化:https://plantegg.github.io/2019/06/21/%E5%B0%B1%E6%98%AF%E8%A6%81%E4%BD%A0%E6%87%82TCP--%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%A4%A7%E5%85%A8/......