网页打开慢,这锅该谁背?
一、背景
工作中扯皮说不可避免且非常常见的事情. 开发与产品、开发和测试、前端和后端都会产生扯皮现象。今天要聊的一个问题就是前后端之间的扯皮问题。
网页打开太慢或者点击了某个按钮发现数据很久才显示出来,这个锅谁背?
做开发不能无凭据地胡乱甩锅, 我们要用数据说话, 具体看哪个参数呢,就是我们今天介绍的 TTFB.
二、TTFB
Time To First Byte 就是后台响应的第一个字节到达浏览器的时间, 说白了这个值比较大的话就说明是后端接口的问题,比如达到了几秒甚至十几秒; 如果比较正常的话通常不会超过一秒,一般都是 ms 级别,当然数据较大的话可能会稍微慢点,当然慢太多的话就要考虑交互数据能不能缩小来优化了。
如果这个数据正常,那基本就可以把问题归结于前端渲染了,是不是阻塞了、有没有异步处理等。这口锅有理有据地传给了前端同事。
打开浏览器控制台(以chrome 为例),点击Network,点击某个请求,切换到Timing 即可看到:

相关文章:
网页打开慢,这锅该谁背?
一、背景 工作中扯皮说不可避免且非常常见的事情. 开发与产品、开发和测试、前端和后端都会产生扯皮现象。今天要聊的一个问题就是前后端之间的扯皮问题。 网页打开太慢或者点击了某个按钮发现数据很久才显示出来,这个锅谁背? 做开发不能无凭据地胡乱甩锅, 我们…...
题目 1538: 蓝桥杯-格子位置
题目描述: 输入三个自然数N,i,j (1< i< N,1< j< N),输出在一个N*N格的棋盘中,与格子(i,j)同行、同列、同一对角线的所有格子的位置。 样例解释…...
第十三届蓝桥杯嵌入式省赛程序设计详细题解
第十三届蓝桥杯嵌入式省赛题目相对于第十二届较为简单,没有那么多串口的数据处理以及判断! 第十三届省赛主要是制作一个可由串口设置密码的密码锁。本实验中,我们将用到LED模块、按键模块、串口模块、定时器的PWM模块以及官方会提供源码的LC…...
Go 语言指针
1. 什么是指针? 在 Go 语言中,指针是一种特殊的数据类型,它存储了一个变量的内存地址。指针提供了直接访问和修改变量值的能力。 2. 指针的基本操作 2.1 声明指针 在 Go 中声明指针需要使用 * 符号,例如: var p *…...
指针运算笔试题解析
题目1: int main() { int a[5] { 1, 2, 3, 4, 5 }; int* ptr (int*)(&a 1); printf("%d %d", *(a 1), *(ptr - 1)); return 0; } ptr中存放了整个数组的地址,ptr是int*类型,&a1跳到5的地址后又被强制类…...
Matlab梁单元有限元编程 | 铁木辛柯梁 | 欧拉梁 | Matlab源码 | 理论文本
专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…...
Tensorflow2.0笔记 - 常见激活函数sigmoid,tanh和relu
本笔记主要记录常见的三个激活函数sigmoid,tanh和relu,关于激活函数详细的描述,可以参考这里: 详解激活函数(Sigmoid/Tanh/ReLU/Leaky ReLu等) - 知乎 import tensorflow as tf import numpy as nptf.__ve…...
1688商品详情数据采集,工程数据采集丨店铺数据采集丨商品详情数据采集
1688是中国的一个大型B2B电子商务平台,主要用于批发和采购各种商品。对于需要从1688上获取商品详情数据、工程数据或店铺数据的用户来说,可以采用以下几种常见的方法: 官方API接口:如果1688提供了官方的API接口,那么可…...
Flutter(四):SingleChildScrollView、GridView
SingleChildScrollView、GridView 遇到的问题 以下代码会报错: class GridViewPage extends StatefulWidget {const GridViewPage({super.key});overrideState<GridViewPage> createState() > _GridViewPage(); }class _GridViewPage extends State<GridViewPage&g…...
【C++】102.二叉树的层序遍历
题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2࿱…...
Java学习笔记006——子类与父类的类型转换
在Java中,类型转换主要涉及到两种类型:向上类型转换(Upcasting)和向下类型转换(Downcasting)。 1. 向上类型转换(Upcasting): 向上类型转换是将子类的对象转换为父类类…...
FedAsync Asynchronous Federated Optimization
文章目录 IntroductionMethodologyConvergence analysisExperiments Introduction 联邦学习有三个关键属性: 不频繁的任务激活。对于弱边缘设备,学习任务只在设备空闲、充电、连接非计量网络时执行.沟通不频繁。边缘设备和远程服务器之间的连接可能经常不可用、缓…...
学习基于 JavaScript 语言 的计算机界三大神书”之一 ——SICP
如何阅读“计算机界三大神书”之一 ——SICP 《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,简记为SICP)是MIT的基础课教材,出版后引起计算机教育界的广泛关注,对推动全世界大学计算…...
【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(一)-向量扩展编程模型
1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容: 这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…...
K8s 镜像缓存管理 kube-fledged 认知
写在前面 博文内容为K8s 镜像缓存管理 kube-fledged 认知内容涉及: kube-fledged 简单介绍部署以及基本使用 理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。…...
ModbusTcp协议
Modbus TCP是一种通信协议,用于工业设备之间的通信。它是Modbus协议家族中的一个成员,最初是为串行通信设计的,但后来扩展到了TCP/IP网络。Modbus TCP/IP是一种公开的标准,由Modbus组织制定,并且被广泛应用于工业自动化…...
常用工具——Gradle
前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、Gradle 简介二、文件结构详解 一、Gradle 简介 Gradle 文件是一个独立于 android 之外的一个东西; 是什么 gradle 就是编译、打包 Android 工程的一个构建工具;build.gradle 文件&…...
OpenHarmony教程指南—Navigation开发 页面切换场景范例
简介 在应用开发时,我们常常遇到,需要在应用内多页面跳转场景时中使用Navigation导航组件做统一的页面跳转管理,它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。除此之外还拥有动态加载,navPathSta…...
2024-简单点-picamera2除了文档还有哪里可以学习实例?
picamera2学习例子 去github的picamera2库,找app和examples目录,然后学习...
JavaScript实现点击鼠标弹钢琴的效果
思路: 图片设置宽900px,找到鼠标按下时的x坐标和img距离body的x坐标,两个值相减,然后除100取整,赋值给a,通过判断a的值来确定放出那个音乐。 完整代码: <!DOCTYPE html> <html lan…...
自主Agent的下一代智能系统
如果说上一代AI是“单打独斗”的数字大脑,那么自主Agent(智能体)的下一代——“人机环境系统智能”,就是“人机共生”的实体生态。它标志着AI正在从虚拟的比特世界,跨越到与人类、物理环境深度融合的现实世界。我们可以…...
别再死记硬背了!用Python+Simulink仿真液压系统,帮你彻底搞懂帕斯卡原理和伯努利方程
用Python和Simulink仿真液压系统:从理论到实践的沉浸式学习 液压传动作为现代机械工程的核心技术之一,其理论基础往往让初学者望而生畏。帕斯卡原理、伯努利方程这些看似简单的公式背后,隐藏着复杂的物理现象和工程应用。传统的死记硬背方式不…...
告别手动评分!用ImageJ的IHC Profiler插件,5分钟搞定免疫组化定量分析(附避坑指南)
告别手动评分!用ImageJ的IHC Profiler插件,5分钟搞定免疫组化定量分析(附避坑指南) 免疫组化(IHC)作为病理诊断和生物医学研究中的金标准技术,其结果的量化分析一直是困扰研究人员的难题。传统人…...
告别卡顿与花屏:i.MX6ULL驱动OV2640摄像头的分辨率设置与V4L2应用层避坑指南
i.MX6ULL驱动OV2640摄像头的分辨率优化与V4L2实战指南 当你在i.MX6ULL平台上成功驱动了OV2640摄像头后,真正的挑战才刚刚开始。许多开发者会遇到这样的困扰:明明硬件连接正确,驱动也加载了,但图像输出却出现各种异常——画面只有一…...
ClaudeCodeOpenAI Token免费使用
2000万claude ops4.7 以及openai gpt5.5 token免费使用apikey贴在这里了:ops4.7sk-119f6d1b81af70e6018f5cf6eb6309261857c98a22280f27345a073c12560e2fgpt5.5sk-b013d9140497d3c7af94459a41f189e4013994f1fe8bac3d5a839e4bcf4413a9使用指南和文档在apikeyfun.com...
RAG夺命10连问,你能抗住第几问?
前言最近金三银四,很多小伙伴在准备大厂面试,几乎每个人都被问到了同一个技术点——RAG(检索增强生成)。从阿里到字节,从腾讯到美团,RAG已经成为大模型应用方向必考的“压轴题”。但是,很多求职…...
别再瞎猜了!LaTeX排版时em、ex、pt、px到底该用哪个?一篇讲透所有单位
LaTeX排版单位全指南:从em到px的精准选择策略 在学术写作和科技文档排版领域,LaTeX以其专业精美的输出质量著称。然而,对于初学者而言,面对em、ex、pt、px等多种长度单位时,常常陷入选择困难——图片宽度该用pt还是cm&…...
DWT-DCT-SVD水印实战:如何保护你的摄影作品版权?一个摄影师的数字水印方案
摄影师必备:用DWT-DCT-SVD技术为作品穿上隐形防弹衣 清晨的阳光透过窗帘缝隙洒进工作室,摄影师林默正在整理昨晚拍摄的一组城市夜景。这组照片耗费了他整整三周时间——等待完美天气、调试设备、后期修图。当他准备将作品上传到个人作品集网站时&#x…...
MCUXPresso for VS Code插件实战:从零构建NXP MCU的HelloWorld项目
1. 项目概述:为什么选择MCUXPresso for VS Code?如果你是一位嵌入式开发者,尤其是使用恩智浦(NXP)MCU的工程师,那么你大概率对MCUXpresso IDE不陌生。它是一个功能强大的集成开发环境,但有时我们…...
树莓派命令行保姆级避坑指南:从sudo权限到安全关机,别再乱敲命令了
树莓派命令行深度避坑手册:从权限管理到系统维护的黄金法则 当你第一次拿到树莓派时,那种兴奋感可能让你迫不及待地想尝试各种命令。但很快,你会发现这个小小的设备背后隐藏着许多"陷阱"——一个错误的sudo命令可能导致系统崩溃&am…...
