首页 > 其他分享 >【个人前端笔记】web性能优化:连接复用

【个人前端笔记】web性能优化:连接复用

时间:2024-03-04 15:01:02浏览次数:25  
标签:web 复用 tcp keep 笔记 连接 alive KeepAlive

一、连接复用keep-alive
当我们去连接www.baidu.com的时候,会经历以下过程(没有连接复用)

连接过程:
发起TCP连接---->请求资源----->下载资源---->关闭TCP连接---->再次发起TCP连接.....

如果有多个资源需要请求,我们就要发起tcp然后关闭tcp连接,然后再发起和关闭
如果可以发起一次tcp连接下载资源后不关闭tcp连接一直请求资源,直到最后才关闭tcp连接,不就更快了么。省掉先开再关的过程

二、如何实现keep-alive

1.在请求头里添加以下字段
Connection:keep-alive

2.如果服务器支持连接复用,那么服务器也会回复相同的字段
Connection:keep-alive

总结:连接复用就是在http协议里添加Connection:keep-alive字段实现tcp连接复用(注意:http协议里添加http字段然后实现tcp连接复用)

三、keep-alive连接复用的设置
虽然我们实现了连接复用,但肯定有一个过期时间,这个过期时间如何设置
在http协议里添加如下字段

KeepAlive:timeout=5,max=100

timeout=5表示如果5s内还不发起第二次请求,那么此次tcp连接就关闭了
max=100表示最多请求响应100次,再多就不服务了

四、KeepAlive是请求头还是响应头?
都可以,如果浏览器发起KeepAlive,那么服务器就有可能会返回相同的KeepAlive
比如:浏览器发起的KeepAlive的timeout是5,服务器可能会同意也可能会不同意
同意就会返回相同的KeepAlive,不同意就会返回不同的KeepAlive
一般浏览器都会遵循服务器的KeepAlive的设置,除了IE

五、前端怎么添加Connection:keep-alive字段?
如果你使用的http协议版本是1.1及以上的,那么这个字段是自动加的
如果是1.0,这个字段就需要你手动添加了

标签:web,复用,tcp,keep,笔记,连接,alive,KeepAlive
From: https://www.cnblogs.com/icerain-black/p/18051803

相关文章

  • 黑马程序员JavaWeb学习笔记-过滤器
    过滤器--Filter过滤器Filter快速入门Filter拦截路径过滤器链Filter——流程importcom.alibaba.fastjson.JSONObject;importcom.itheima.pojo.Result;importlombok.extern.slf4j.Slf4j;importorg.springframework.util.StringUtils;importjavax.servlet.*;im......
  • PAI-DSW快速启动SD WebUI
    教程简述在本教程中,您将学习如何在阿里云交互式建模(PAI-DSW)中,使用StableDiffusionXLTurbo模型和DiffSynthUI实现AI作画,涂鸦也能生成精美画作。基于开源StableDiffusionXLTurbo模型和DiffSynthUI,我们支持文图生成的基础上,也支持交互式的图像到图像生成,实现图像编辑功能,用......
  • 黑马程序员JavaWeb学习笔记-拦截器
    拦截器--Interceptor--快速入门@Component注解交给ioc容器管理--注册配置拦截器@Configuration注解用来标识当前是Spring当中的一个配置类//Interceptor拦截所有("/**")//Filter拦截所有("/*")//WebConfig需要在包下新建一个config包与controller同级//.excl......
  • 黑马程序员JavaWeb学习笔记-文件上传
    文件上传https://www.bilibili.com/video/BV1m84y1w7Tb/?p=150&spm_id_from=pageDriver&vd_source=62f4901d4d947272c439194b87ec6698当报错500时,服务端出现错误,因为默认最大为1M在application.properties里面修改文件上传的几个函数本地存储Controller层的代码import......
  • 【个人前端笔记】Event loop和微任务与宏任务
    一、EventloopEventloop是指在node.js的事件循环,不是在浏览器中二、Eventloopd各个阶段┌───────────────────────┐┌─>│timers│timers阶段:这个阶段执行setTimeout和setInterval的回调函数。│└───────......
  • web ui 自动化测试
    来源:测试开发探秘公众号一、用到的工具和语言1)SeleniumIDE:作为火狐的一个插件,是我们Web自动化测试中必不可少的。 (2)FireBug:火狐的一个插件,帮助我们定位页面元素。 (3)Eclipse:强大的代码编辑工具,相信大家并不陌生。 (4)PyDev:Eclipse的插件,用于编辑Python代码。 (5)Python......
  • 黑马程序员JavaWeb学习笔记-登陆login
    登陆loginlogin是登陆业务方法,mapper接口是持久层,用来操作数据库的,用业务方法名不合适三层架构PostMan测试登陆校验http协议是无状态的,下次请求不会携带上次请求的数据,两次请求是独立的Cookie前后端分离项目中前端页面和后段接口部署在不同的服务器上,所以他们的协议......
  • 【个人前端笔记】Node.js技术架构
    一:node.js不是什么1.node.js不是web框架或后端框架所以你不能把Node.js与Flask或Spring对比2.node.js不是编程语言node.js并不是后端的JS,它只是以.js做后缀的所以你不能把Node.js与Python或PHP对比二:node.js是什么1.node.js是一个平台它将多种技术组合起来让Javascript也......
  • 黑马程序员JavaWeb学习笔记-JavaScript
    JavaScript--JavaScript引入方式--书写语法--输出语句window可以省略--变量var特点1:作用域比较大,全局变量特点2:可以重复定义--数据类型原始数据类型相当于java中基础数据类型alert(parseInt("12"));//12alert(parseInt("12A45"));//12alert(parseInt("A4......
  • 【个人前端笔记】手写EventHub
    一、EventHubEventHub是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的模块之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。二、EventHub优缺点优点:1.通过EventHub实现所有模块之间通信的技术。在vue2中可以用事件总线实现任意组件间传递数据2.E......