分为如下过程:
- 域名解析
- 向web服务器发起请求
- 服务器处理请求
- 服务器响应请求
- 浏览器显示页面
过程详述
- 输入域名后,浏览器查找ip分为以下步骤:
- 首先会在浏览器的缓存中查找是否有该域名对应的IP地址,没有则查找本地硬盘文件,没有再查找路由器缓存,没有的话去查找路由器缓存。
- 以上都没有,浏览器发起一个dns请求到dns服务器(网络服务商提供)
- 请求到达本地dns服务器后,服务器在自己的缓存中查找,这个过程以递归的方式进行,如果没有,本地dns服务器向根服务器发起请求;
- 根服务器并没有记录域名与IP的对应关系,而是告诉本地dns服务器,可以到哪个顶级域名服务器查询,并给出该地址,此过程以迭代方式进行;
- 本地DNS继续向顶级域名服务器发出查询请求,顶级接受请求后,会告诉本底DNS到权限域名服务器上查询;
- 本地DNS向权限DNS服务器发出请求,权限域名服务器查询域名对应IP,返回给本地DNS,接收后保存到自己的缓存中。
DNS解析是一个递归查询的过程
-
请求到达服务器,服务器处理请求。
大型网站为了防止访问量过大对服务器的冲击,一般会设置反向代理服务器(如:Nginx),用户发送的请求县到达反向代理服务器,然后由反向代理服务器根据实际情况将用户请求传递给某个应用服务器,再将结果返回给客户端。如图:
-
浏览器显示HTML