从输入 URL 到页面展示到底发生了什么?

  1. 输入网址,解析URL,准备发送HTTP请求

  2. 检查浏览器是否有缓存,若有则直接返回,若没有则进行下一步网络请求

  3. DNS域名解析,网络请求前,进行DNS解析,获取IP地址,若请求协议是HTTPS,则需建立TLS连接,查询ip的顺序:本地浏览器缓存 -> 本地host文件 -> 路由器缓存 -> DNS服务器 -> 根DNS服器

4.建立连接,通过tcp三次握手建立连接

  1. 浏览器发送HTTP请求,构建请求头、请求行等信息,并把cookie等加入到请求头中,发送请求(若是HTTPS,则还需加解密过程)

  2. 服务器处理请求并返回HTTP资源

  3. 断开连接,通过tcp四次挥手断开连接

  4. 浏览器解析并渲染页面

  • 浏览器解析响应头。若响应头状态码为301、302,会重定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,会进入下一部渲染流程。
  • 浏览器解析HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
Hello.Reader11 分钟前
Spring 新声明式 HTTP 客户端:HTTP Interface + RestClient,把“调用外部 API”写成接口
java·spring·http
IP搭子来一个15 分钟前
什么是http代理,http代理的作用是什么?
网络·网络协议·http
MESMarketing21 分钟前
互动分享 | ISO 26262安全分析概览
功能测试·测试工具·安全·网络安全·matlab
小李独爱秋25 分钟前
计算机网络经典问题透视:试述资源预留协议RSVP的工作原理?
运维·服务器·网络·网络协议·计算机网络·rsvp
马剑威(威哥爱编程)30 分钟前
TCP/IP协议栈深度解析:从底层搞懂网络通信
网络·网络协议·tcp/ip
J_liaty35 分钟前
RPC、Feign与OpenFeign技术对比详解
网络·网络协议·rpc·openfeign·feign
2501_9160074740 分钟前
iOS APP 开发,从项目创建、证书与描述文件配置、安装测试和IPA 上传
android·ios·小程序·https·uni-app·iphone·webview
wb043072011 小时前
TCP/IP(IP、TCP、UDP、ICMP)与 HTTP/HTTPS
tcp/ip·http·udp
BOB-wangbaohai1 小时前
软考-系统架构师-信息安全技术基础知识(三)
网络安全·软考·系统架构设计师
guygg881 小时前
C#实现的TCP/UDP网络调试助手
网络·tcp/ip·c#