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

【计算机网络】用户从输入网址到网页显示,期间发生了什么?

请添加图片描述

1.URL解析

  • 浏览器分解URL:https://www.example.com/page
    • 协议:https
    • 域名:www.example.com
    • 路径:/page

2.DNS查询:

浏览器向DNS服务器发送查询请求,将域名解析为对应的IP地址。

3.CDN检查(如果有):

  • 若域名使用CDN,DNS会返回边缘节点IP
  • 浏览器优先从最近的CDN节点获取静态资源

4.TCP连接:

  • 浏览器与目标服务器三次握手建立TCP连接(HTTPS还需TLS/SSL握手)

客户端 → SYN → 服务端
客户端 ← SYN-ACK ← 服务端
客户端 → ACK → 服务端

5.HTTP请求:

  • 发送带有请求头的HTTP报文:

GET /page HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

6.服务器处理:

  • 静态资源:直接返回文件
  • 动态内容:通过后端程序生成HTML

7.HTTP响应:

  • 返回状态码+数据
HTTP/1.1 200 OK
Content-Type: text/html
<!DOCTYPE html><html>xxx</html>

8.浏览器渲染:

关键流程:
1.解析HTML构建DOM树
2.解析CSS生成CSSOM树
3.合并为渲染树
4.布局计算元素位置
5.绘制像素到屏幕

9.资源加载:

  • 解析到 <img> <script> 等标签时,触发额外HTTP请求
  • 现代浏览器会并行加载资源

上面是期间的重要过程,下面介绍一些有关的网络技术

关键网络技术:

  • HTTP/HTTPS应用层协议,定义数据传输格式
  • TCP/IP:确保可靠传输的分组交换协议
  • TLS加密(HTTPS):加密通信内容
  • CDN加速:通过边缘节点减少延迟

上面提到了CDN,初次看到我也不知道CDN是什么?有什么用?我赶紧去搜集了一下,下面是一些有关CDN的简单总结。

1.什么是CDN?

CDN(Content Delivery NetWork,内容分发网络) 是一种分布式网络。
用于高效、快速地向全球用户分发静态和动态内容(如网页、图片、视频、JS/CSS文件等)。
它的核心目标是 减少延迟、提高访问速度、减轻源服务器负载。

2.CDN的工作原理

传统无CDN的访问流程

用户直接请求源服务器,如果服务器离用户较远,延迟高,尤其是跨国访问时,速度慢。
请添加图片描述

3.使用CDN的访问流程

CDN在全球部署多个边缘节点,用户访问时,自动从最近的节点获取内容,大幅降低延迟。

请添加图片描述

4. CDN的核心技术:

1.缓存:

  • CDN节点会缓存静态资源(如HTML、CSS、JS、图片、视频),减少回源请求。
  • 缓存策略:
    • TTL: 控制缓存有效期
    • Cache-Control:HTTP头控制缓存行为。

2.负载均衡

  • 通过DNS等技术,将用户请求路由到最优节点。

3.动态加速

  • 对动态内容(如API请求)优化传输路径,减少延迟(如TCP优化、BGP路由优化)。

4.DDoS 防护

  • CDN可以吸收恶意流量,保护源服务器免受攻击。

5.CDN的典型应用场景:

1.静态资源加速

图片、CSS、JS、字体等文件的分发

2.视频/直播流媒体:

降低缓冲,提升观看体验

3.软件/游戏下载:

大文件快速分发

4.全球网站加速:

解决跨国访问延迟问题

5.安全防护:

地狱DDos、WAF(Web应用防火墙)

相关文章:

  • RPC、gRPC和HTTP的区别
  • 树状数组的操作问题--Python
  • 使用 Cesium 构建 3D 地图应用的实践
  • Spark 之 metrics
  • 洛谷 P3811:【模板】模意义下的乘法逆元
  • 可撤销并查集,原理分析,题目练习
  • STM32 ADC
  • 数据结构 - 8( AVL 树和红黑树 10000 字详解 )
  • Android学习总结之kotlin协程面试篇
  • PowerShell 复制源文件夹中的所有文件和子文件夹到目
  • 机器学习 数据集
  • OpenCV 基于生物视觉模型的工具------模拟人眼视网膜的生物视觉机制类cv::bioinspired::Retina
  • 表达式求值(算法题)
  • Linux 常用命令 - tftp【简单文件传输协议】
  • 穿越“协议迷雾”:Modbus转Profinet与60LB伺服的传奇相遇
  • Hadoop MapReduce 图文代码讲解
  • 功能安全的关键——MCU锁步核技术全解析(含真实应用方案)
  • 什么是多模态大模型?为什么需要多模态大模型?
  • JAVA:Spring Boot 集成 Lua 的技术博客
  • IDEA 2024 版本配置热部署
  • 甘肃省政府原副省长赵金云被决定逮捕
  • 第1现场 | 50多年来首次!印度举行大规模民防演习
  • 外交部:解放军参加红场阅兵体现了中方对历史的尊重和铭记
  • 印媒证实:至少3架印军战机7日在印控克什米尔地区坠毁
  • 抗战回望20︱《山西省战区抗敌行政工作检讨会议议决案》:“强民政治”、“说服行政”
  • 国新办将于5月8日10时就《民营经济促进法》有关情况举行新闻发布会