从输入 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合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
相关推荐
lunzi_082622 分钟前
《图解HTTP》--第5章-与HTTP协作的Web服务器
服务器·前端·http
2501_9159184124 分钟前
Python如何抓取HTTPS请求包的完整教程与代码示例
android·ios·小程序·https·uni-app·iphone·webview
郑洁文31 分钟前
基于CNN的异常流量监测系统的设计与实现
人工智能·神经网络·网络安全·cnn
落叶_Jim1 小时前
Chrome提示不安全3步让你的网站变成HTTPS
chrome·安全·https
http阿拉丁神猫2 小时前
TCP、IPv4和IPv6解读
运维·网络协议·tcp/ip
会编程的土豆2 小时前
网络基础核心笔记(HTTP、TCP、前后端通信)
网络·笔记·http
独自破碎E2 小时前
GoCloud - 基于 WebSocket 的实时聊天应用
网络·websocket·网络协议
酉鬼女又兒2 小时前
零基础入门计算机网络物理层:核心任务、四大关键特性与全类型传输媒体(双绞线/同轴电缆/光纤/微波/红外线/可见光)完整详解
网络·网络协议·计算机网络·职场和发展·求职招聘
爱吃羊的老虎2 小时前
【JAVA】python转java:Spring Boot 如何处理 Web 请求
java·前端·spring boot·http
txg6663 小时前
WildSync:通过Wild API 使用恢复实现自动化 Fuzzing Harness 合成
运维·深度学习·网络安全·自动化