浏览器从输入网址开始
- 输入网址:www.baidu.com;
- 浏览器查找对应的IP地址:61.135.169.121,查找过程:???不一样
- 浏览器缓存:检查本地是否有缓存
- 系统缓存;
- 路由器缓存;
- ISP 的DNS缓存;
- 递归搜索DNS服务器;
- 向web服务器发送 http请求(建立连接3握手);
- 请求的URL协议/版本;GET;
- 请求头:设置,是否缓存,是否发送cookie等;
- 请求文本:参数
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=jinqiao&password=1234
- 传输层通过TCP协议传输报文;
Tcp协议:一个包1400字节,那么一次性发送大量数据,就必须分成多个包,保证数据通信的完整性和可靠性,防止丢包的协议;
是一种面向连接的、可靠的、基于字节流的传输层通信协议
- 网络层IP协议查询Mac地址;
以太网协议:规定了电子信号如何组成数据包,解决了子网内部的点对点通信。但是,以太网协议不能解决多个局域网如何互通,这由 IP 协议解决。
IP协议:一个地址协议,定义了一套自己的地址规则,称为 IP 地址。把Tcp分分割好的各种数据包传送给接收方,决多个局域网如何互通;
ARP协议:将IP地址解析成对应的MAC地址;
- 数据链路层传输;
找到服务器IP对应的MAC物理地址
- 服务端接收数据
- 服务端处理请求;
- 服务端返回一个HTTP响应请求;客户端关闭页面(四挥手关闭连接)
- 浏览器开始渲染拿到的文本;
- 发送并获取js和css文件嵌套到
- 浏览器处理异步请求,获取页面动态数据
url后还涉及到url转非AScII的Unicode码转码;
预加载HSTS(HTTP严格传输安全)列表等;
HTTPS
/
HTTP TLS/SSL
/
通信内容 确认身份
对称加密 SSL证书 —— X.509 格式,非对称加密
URI = Universal Resource Identifier 统一资源标志符
URL = Universal Resource Locator 统一资源定位符
URN = Universal Resource Name 统一资源名称
总结
第一部分:网路通信,建立连接,发送接收请求数据;
第二部分:页面渲染,浏览器解析渲染;