从输入 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合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
森G38 分钟前
61、信号与槽机制在 TCP 编程中的应用---------网络编程
网络·c++·qt·网络协议·tcp/ip
woniu_buhui_fei4 小时前
HTTP协议及其工作原理
网络安全
llz_1124 小时前
web-第五次课后作业
前端·后端·http
咸鱼翻身小阿橙4 小时前
VS2008 + .NET3.5 环境、加热台TCP通讯场景
tcp/ip·php·.net
leo_yu_yty4 小时前
Go语言分布式计算(RPC入门)
网络·网络协议·rpc
2301_780789664 小时前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构
TechWayfarer5 小时前
查IP归属地接入实战:保险理赔如何做动态风险监控与预警
网络·python·tcp/ip·安全·flask
曾阿伦5 小时前
netcat / ncat / socat 用法详解与示例
linux·http·信息与通信
GlobalSign数字证书5 小时前
SSL证书过期致业务宕机?企业证书管理三大痛点与自动化方案
网络协议·自动化·ssl
米丘5 小时前
SSE (server-sent events)
javascript·网络协议