浏览器输入URL按回车后都经历了什么?
2024-10-19 00:26:24
在浏览器上输入一个URL,按回车后,这个过程发生了什么?
1、首先,浏览器地址栏输入了URL,先解析URL,检测URL地址是否合法
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使用系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存。
ISP缓存:若上述均失败,继续向ISP搜索。
3、如果没有上述缓存,则在发送HTTP请求前,需要域名解析(DNS解析),解析获取相关的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器简历tcp三次握手
5、握手成功后,浏览器向服务器发送HTTP请求,请求数据包
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、浏览器解码响应,如果响应可以缓存,则存入缓存
9、浏览器发送请求获取嵌入在HTML中的资源(HTML、css、javasc、图片、音乐。。。。).
10、浏览器发送异步请求
11、页面全部渲染结束
最新文章
- java中被各种XXUtil/XXUtils辅助类恶心到了,推荐这种命名方法
- iOS程序上传流程 2014年9月最新版
- 10. javacript高级程序设计-DOM
- HDU 2602 Bone Collector WA谁来帮忙找找错
- plist文件真机写入方法
- centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常
- Struts 2简单配置分析
- 根据一个旅游网站的psd素材还原的静态页面
- spring aop 笔记2
- XShell删除键之类的不正常
- EmbossMaskFilter BlurMaskFilter 学习
- Content Provider 小结
- Android名片扫描识别系统SDK
- Guava快速入门
- 数据访问(DAO)
- .NET Core Dapper操作mysql数据库
- Ubuntu18 的超详细常用软件安装
- weblogic 安装部署详解
- CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件)
- javascript预编译的过程
热门文章
- CentOS 7 开机延迟解决办法
- python selenium基于显示等待封装的一些常用方法
- WIFI CAT ET III Adapter Caterpillar ET3 New Arrival
- css的再深入7(更新中···)
- GIT操纵
- Configuration in ASP.NET Core(未完,待续)
- QuerySet API
- 本地构建:Gulp
- 如何插入谷歌地图并获取javascript api 秘钥--Google Maps API error: MissingKeyMapError
- mysql数据库通过二进制 -【恢复数据记录】