博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入url后发生了什么
阅读量:5017 次
发布时间:2019-06-12

本文共 924 字,大约阅读时间需要 3 分钟。

(1)浏览器解析

(2)查询缓存

(3)DNS查询

顺序如下,若其中一步成功直接进去建立连接部分:

-- 浏览器自身DNS

-- 操作系统DNS

-- 本地hosts文件

-- 像域名服务器发送请求

(4)建立连接

-- TCP三次握手(three-way handshaking)

-- 发送方: SYN(synchonize)

-- 接受方: SYN/ACK(acknowledgement), 确认信息传达

-- 发送方: ACK - 确认接受方再线可收消息,握手结束

Accept

-- 1, 发送端: 标有SYN的数据包发给你了

-- 2, 接收端: 明白了! 我收到你给我发的数据包了! (并发送标有SYN/ACK的数据包了)

-- 3, 明白! (发送标有ACK的数据包)

TCP三次握手的好处在于,发送方可以确认接受方仍然在线,不会因为白发送而浪费资源.

(5) 发送HTTP请求

-- 报文首部(GET/index.html HTTP/1.1)

-- 方法

-- URL

-- HTTP版本

-- 空行

-- 报文主体

注意: 1,HTTP是无连接, 无状态的,即HTTP再传输完成后就会断开,并且下一次登陆时不会记录上次的登陆状态

2,关于CR(Carriage Return, 回车)和LF(Line Feed, 换行)

Dos和Windows采用的CR/LF表示下一行UNIX/Linux采用LF表示下一行MAC OS系统采用CR表示下一行

(6)服务器发送响应

-- 报文首部(HTTP/1.1 200 ok)

-- HTTP版本

-- 响应状态码

-- 状态码信息

-- 空行(CR+LF)

-- 报文主体

(7)客户端收到页面

(8)解析HTML

-- 构建DOM树

-- 下载资源

-- CSS - 构建CSSSOM树

-- js - 等下载并执行后解析

(9)构建渲染树

根据DOM和CSSSOM树渲染,不可见元素不被会渲染

(10)浏览器布局渲染

-- 布局- 根据渲染书布局

-- 绘制 - 在屏幕上绘制每个点

转载于:https://www.cnblogs.com/zxmbky/p/9594541.html

你可能感兴趣的文章
关于<span></span><div style="float:left"></div>
查看>>
简单JSONP跨域请求
查看>>
笔试题算法系列(九)百度2017不等式数列
查看>>
C#访问gsoap的服务--可用
查看>>
干货----002----PHP版本与用法区别详解
查看>>
异数OS TCP协议栈测试(三)--长连接篇
查看>>
程序硬件C/S与B/S的区别
查看>>
ASP.NET中的Cache总结
查看>>
python 进程内存增长问题, 解决方法和工具
查看>>
安装xampp无法设置默认时间的坑
查看>>
JSBridge(Android和IOS平台)的设计和实现
查看>>
什么是 Google Play服务
查看>>
JavaWeb-ServletContextListener
查看>>
How to copy remote computer files quickly to local computer
查看>>
为什么会需要消息队列(MQ)?
查看>>
Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL
查看>>
在spring中如何生成一个bean (一个对象,比如jedis的连接池对象)【我】
查看>>
在java poi导入Excel通用工具类示例详解
查看>>
Oracle数据库备份
查看>>
类型参数的约束
查看>>