从 URL 输入到页面展现发生了什么

一:在浏览器中输入URL(统一资源定位符, 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。)


二:域名解析(把域名指向网站空间IP)

主要依赖于域名系统DNS;

详细过程如下:

1)客户机(主机)提出域名解析请求,发送给本地域名服务器。此查询一般为递归查询;

2)本地域名服务器查询本地域名缓存(浏览器缓存,系统缓存,路由器缓存等),有直接返回,无发送给根域名服务器;

3)跟域名服务器返回给本地一个所查询域(跟的子域)的主域名服务器地址;

4)本地域名服务器再向上一步返回的域名服务器发送请求,它查询自己缓存域名,若没有再向其返回下一级域名服务器地址,次查询为迭代查询,也叫重复查询;

5)不断重复上一步骤,直到找到,之后将结果保存到域名缓存,同时将结果返回给客户机


三:服务器处理

服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012

系统里安装的处理请求的应用叫 Web server;

常见的 web服务器有 Apache、Nginx、IIS、Lighttpd;

web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器

从 URL 输入到页面展现发生了什么_第1张图片

第四步. 网站处理流程

MVC 模型(model)-视图(view)-控制器(controller)

从 URL 输入到页面展现发生了什么_第2张图片

浏览器向 /users 发送请求;

Rails 的路由把 /users 交给 Users 控制器的 index 动作处理;

index 动作要求 User 模型读取所有用户(User.all);

User 模型从数据库中读取所有用户;

User 模型把所有用户组成的列表返回给控制器;

控制器把所有用户赋值给 @users 变量,然后传入 index 视图;

视图使用嵌入式 Ruby 把页面渲染成 HTML;

控制器把 HTML 送回浏览器;


五:浏览器处理

HTML字符串被浏览器接受后被一句句读取解析;

解析到link 标签后重新发送请求获取css;

解析到 script标签后发送请求获取 js,并执行代码;

解析到img 标签后发送请求获取图片资源;


六:绘制网页

浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上;js 会被执行;

你可能感兴趣的:(从 URL 输入到页面展现发生了什么)