当前位置: 首页 > news >正文

浏览器与服务器的交互

浏览器地址栏输入URL(网址​​)

​​​​(1) 服务器进行URL解析​​:验证URL格式,提取协议、域名等

​​​​(2) 服务器进行DNS查询​​:将域名转换为IP地址(可能涉及缓存或DNS预取)

​​​​(3) 与服务器建立连接​​:通过TCP三次握手(HTTPS还需TLS协商)

​​​​(4) 浏览器发送请求​​:浏览器构造HTTP请求头(含Cookie、User-Agent等)。请求方法:GET(获取资源)、POST(提交数据)、PUT/DELETE(RESTful API)

服务器处理请求

服务器返回资源

静态资源 vs 动态资源​​

  • ​​静态资源​​(如HTML/CSS/JS文件):服务器直接读取文件,返回 200 OK 和内容。
  • ​​动态资源​​(如PHP/Python接口):通过后端程序(如Django、Node.js)处理,可能查询数据库后生成响应。

服务器响应报文:状态码、缓存控制、html文件

浏览器渲染阶段​​

​​(1) 解析响应​​

  • ​​Content-Type处理​​:
  • text/html:触发HTML解析。
  • application/json:交由JavaScript处理(如 fetch().then())。
  • image/png:解码为位图并显示。

​​(2) 构建DOM/CSSOM​​

​​HTML解析​​:

  • 边下载边解析,遇到 <script> 默认阻塞(除非标记 async/defer)。
  • 容错机制:自动补全缺失标签(如 <p> 未闭合)。

​​CSS解析​​:

  • 生成CSSOM树,选择器从右向左匹配(如 .box a 先找所有 <a> 再过滤)。

​​(3) 渲染管线(Rendering Pipeline)​​

  • ​​布局(Layout)​​:计算每个节点的几何属性(盒模型、浮动)。
  • ​​绘制(Paint)​​:将布局转换为像素(如文本、边框)。
  • ​​合成(Composite)​​:分层渲染(如 transform: translateZ(0) 触发GPU加速)。

后续交互(AJAX/WebSocket)​​

​​(1) AJAX(异步通信)​​

  • 基于XMLHttpRequest或Fetch API,不刷新页面更新数据。

​​(2) WebSocket(全双工通信)​​

  • ​​握手阶段​​:HTTP Upgrade头切换协议。
  • ​​持续通信​​:建立后通过帧(Frame)双向传输数据(如聊天室、实时游戏)。

http://www.lryc.cn/news/580449.html

相关文章:

  • 五、jenkins之升级jenkins
  • Python统一调用多家大模型API指南
  • puppteer page.$$eval 和 puppteer page.$eval
  • 【数据结构】排序算法:归并与堆
  • HarmonyOS学习1---ArkTs语法
  • FPGA设计中的数据存储
  • json学习路线
  • C 中的 uintptr_t 类型
  • 深入解析享元模式:通过共享技术高效支持大量细粒度对象
  • ai 工程图相关论文集合
  • HarmonyOS:创建ArkTS卡片
  • HTML知识复习2
  • 汽车制造车间检测机器人与PLC无线以太网实时控制方案
  • 计算机技术的进阶之路:从基础到前沿的深度探索
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_timestamps
  • Oracle 高级 SQL 查询与函数详解:多表连接、子查询、聚合、分析函数
  • 3dmax一键烘焙很多张贴图合并成一张贴图插件支持fbx/obj/blender多材质模型合并为一张贴图
  • 光伏发电园区管理系统 - Three.js + Django 实现方案
  • SqueezeBERT:计算机视觉能为自然语言处理在高效神经网络方面带来哪些启示?
  • SQL 转 Java 实体类工具
  • 【内存】Linux 内核优化实战 - net.ipv4.tcp_max_tw_buckets
  • HarmonyOS学习2---Stage模型
  • 接口测试之apifox的使用
  • 在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
  • 常见高危端口风险分析与防护指南
  • java中,stream的filter和list的removeIf筛选速度比较
  • 【网络协议安全】任务12:二层物理和单臂路由及三层vlanif配置方法
  • Docker文件操作、数据卷、挂载
  • 猎板 PCB 微孔技术:构建 5G 通信设备高效运行的坚实底座
  • 冒泡和快速排序的区别