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

【八股文】从浏览器输入一个url到服务器的流程

1.url解析与DNS解析

浏览器解析用户输入的URL,提取协议(HTTP\HTTPS)、域名、端口及路径等信息

浏览器首先检查本地DNS缓存和系统DNS缓存,若未命中,查询本地hosts文件

最后递归查询向本地DNS服务器发起请求,获取域名对应的IP地址

这里我想插入一段,讲讲本地DNS缓存、系统DNS缓存、Hosts文件、DNS服务器几者之间的关系

首先,不要觉得很复杂,其实本质就是为了根据域名拿IP地址,只是好几个地方缓存了,先这么简单理解。然后继续往下看。

本地DNS缓存是浏览器缓存,浏览器缓存会缓存最近访问的域名与IP的映射关系,来减少重复查询的延迟

但本地DNS缓存时间较短,比如chrome默认只有1分钟

用户输入URL后,浏览器首先检查自身缓存,若命中就直接使用IP地址


系统DNS缓存是操作系统缓存,操作系统也维护了独立的DNS缓存,用于存储域名解析结果,避免重复请求DNS服务器

若浏览器缓存未命中,操作系统会检查自身缓存,若命中直接返回IP地址


Hosts文件是本地手动配置的域名与IP的映射文件,路径一般为C:\Windows\System32\drivers\etc\hosts

修改后会强制清空操作系统DNS缓存

浏览器缓存和系统缓存均未命中时,操作系统会检查hosts文件,若命中,直接使用配置的IP地址


当本地、系统缓存及Hosts文件均未命中时,操作系统就会向配置的本地DNS服务器发起递归查询

2.TCP连接建立

三次握手:通过TCP协议与服务器建立可靠连接

连接复用:HTTP 1.1默认支持keep-alive, 复用TCP连接以减少握手开销

3.发送HTTP请求

浏览器构造HTTP请求,包含请求行(方法、URI、协议)、请求头(user-Agent、Host、Cookie)、请求体

4.服务器处理请求

如果是静态资源,直接返回文件

如果是动态资源,调用后端服务生成响应内容

构建响应内容,包含状态行(http/1.1 200 ok)、响应头(Content-type、重定向地址、缓存策略)、响应体

5.浏览器接收与渲染

浏览器解析响应头,根据状态码决定后续操作

浏览器进行资源加载和页面渲染

6.连接关闭与缓存

四次挥手关闭连接

DNS缓存,减少后续解析延迟

浏览器对静态资源副本进行缓存,通过ETag或last-Modified验证资源是否更新

讲讲协商缓存ETag和Last-Modified

浏览器在发送请求的时候,首先会检查强制缓存,如果缓存命中,则不需要发送请求。直接从缓存中获取资源数据,若强缓存失效,则发送请求进去协商缓存,服务器通过请求头Last-Modified或Etag字段进行检查,若200表示资源有更新,304则表示资源没变,直接取缓存即可。

若同时存在ETag和Last-Modified,服务器优先验证ETag。

ETag是基于资源内容hash,精确到字节级别,适用于对内容变化敏感的资源(比如JSON、js文件)

Last-Modified是基于修改时间,精确到秒级别,适用于文件、图片等不频繁更新的静态资源

总结

从浏览器输入一个url到服务器的流程如下:

  • url解析与DNS解析
  • TCP连接建立
  • 发送HTTP请求
  • 服务器处理请求
  • 浏览器接收与渲染
  • 连接关闭与缓存

 

相关文章:

  • 密度估计:参数与非参数
  • 获取ftp目录及子目录下的文件并下载下来
  • 让人感到疑惑的const
  • Java Fork/Join框架详解(并行计算框架、高效负载均衡、分治)
  • GigE数据接口的工业相机 稳健、性能好
  • 人形机器人领域的地位与应用前景分析
  • Java 多线程编程简介
  • 第29周 面试题精讲(4)
  • NO.47十六届蓝桥杯备战|栈和队列算法题|有效的括号|后缀表达式|括号序列|机器翻译|海港|双端队列|deque(C++)
  • ssm框架之mybatis框架讲解
  • 【力扣刷题实战】无重复的最长字串
  • ngx_url_t
  • C#入门学习记录(四)C#运算符详解:掌握算术与条件运算符的必备技巧+字符串拼接
  • PDFMathTranslate 安装、使用及接入deepseek
  • HarmonyOS Next中的弹出框使用
  • 如何针对大Excel做文件读取?
  • Rochchip --- 待机唤醒模式
  • TensorFlow深度学习实战(12)——词嵌入技术详解
  • 台式机电脑组装---电源
  • 重要重要!!fisher矩阵元素有什么含义和原理; Fisher 信息矩阵的形式; 得到fisher矩阵之后怎么使用
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴
  • 今天北京白天气温超30℃,晚间为何下冰雹?
  • 图讯丨习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 新闻1+1丨婚姻登记服务,如何跑出幸福加速度?
  • 来伊份:已下架涉事批次蜜枣粽产品,消费者可获额外补偿,取得实物后进一步分析
  • 为证明我爸是我爸,我将奶奶告上法庭