1.浏览器搜索自己的DNS缓存(维护一张域名与IP地址的对应表)
2.如果没有,则搜索操作系统中的DNS缓存(维护一张域名与IP地址的对应表)
3.若没有,则搜索操作系统的hosts文件
4.若没有,则操作系统将域名发送至 本地域名服务器- -(递归查询方式),本地域名服务器 查询自己的DNS缓存,查找成功则返回结果,否则,(以下是迭代查询方式)
4.1.本地域名服务器 向根域名服务器(其虽然没有每个域名的具体信息,但存储了负责每个域,如com、net、org等的解析的顶级域名服务器的地址)发起请求,此处,根域名服务器返回com域的顶级域名服务器的地址
4.2.本地域名服务器 向com域的顶级域名服务器发起请求,返回baidu.com权限域名服务器(权限域名服务器,用来保存该区中的所有主机域名到IP地址的映射)地址
4.3.本地域名服务器 向baidu.com权限域名服务器发起请求,得到www.baidu.com的IP地址
5.本地域名服务器 将得到的IP地址返回给操作系统,同时自己也将IP地址缓存起来
6.操作系统将 IP 地址返回给浏览器,同时自己也将IP地址缓存起来
7.至此,浏览器已经得到了域名对应的IP地址
8.建立TCP连接后,发送HTTP请求
9.服务器受到请求,并响应
9.1.负载均衡 -- 网站可能会有负载均衡设备来平均分配所有用户的请求。即对工作任务进行平衡,分摊到多个操作单元上执行,如图片服务器,应用服务器等
9.2.请求处理阅读请求及它的参数和 cookies
10.浏览器解析htm代码,并请求htm代码中的资源(如js、css图片等)----看是否是长连接,来决定是不是断开TCP连接
11.断开TCP连接
12.浏览器对页面进行渲染呈现给用户
原文:https://www.cnblogs.com/zhwcs/p/10441368.html