浏览器输入url
- dns解析 (获得域名映射的IP地址)
- 浏览器缓存
- 操作系统缓存 : 运行内存的缓存
- 本地host文件
- 路由缓存
- 顶级域名服务器 .com
- 根域名服务器 .一个常常省略的点
- (在缓存中找不到映射数据的时候)最后,本地dns服务器向域名解析的服务器发出请求,响应数据并缓存到各个地方
DNS优化
- DNS缓存 就是上面那一堆缓存
- 均衡负载 一个主机配置多个IP地址,引导客户端访问不同的服务器获得资源
- TCP连接
- 三次握手建立连接
- HTTP请求
- 多种请求方法 (GET POST PUT DELETE HEAD OPTION )
- 构建请求头
- 请求方法 uri 协议版本
- 请求头
- 请求正文
- 响应码
- 301 永久重定向
- 302 临时重定向 (场景: 更换域名; 服务器不稳定,更换空间)
- 服务器处理请求
- nginx反向代理 (先请求nignx服务器,nignx服务器在请求应用服务器)
- 服务器的负载均衡
- HTTP响应
- 状态行
- 1xx 已接受请求
- 2xx 处理成功
- 3xx 重定向
- 4xx 客户端错误
- 5xx 服务器错误
- 响应头
- 空行
- 响应正文
- 浏览器渲染页面
- dom树 解析HTML (当遇到js文件时候要挂起渲染线程,等待加载完毕; 因为js可能修改dom树结构)
- render树 解析CSS
- 布局render树
- 绘制render树
- 断开连接
- 四次挥手告别
三次握手,四次挥手,见下文