从url输入到页面展现的过程

url输入到页面展现的过程大概分为以下几步:

1.浏览器中输入url

2.域名解析

3.服务器处理

4.网站处理

5.浏览器处理

6.绘制网站

一、url是什么

URL(Uniform Resource Locator的缩写,统一资源定位符)用于定位互联网上的资源。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

基本URL包含协议、服务器名称(或IP地址)、路径和文件名。

常见的协议有http、https、ftp、file。

二、域名解析

域名解析是把域名解析为IP地址。

什么是IP地址?

IP地址是一个32位二进制数的地址, 由4个8位字段组成,是IP协议提供的一种统一的地址格式。它为互联网上的每一个网络和每一台主机分配一个逻辑地址。

什么是域名?

由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每一个符号化的地址都与特定的IP地址对应,这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。

什么DNS?

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

域名解析流程如下:

1.浏览器缓存 – 浏览器会缓存DNS记录一段时间

2.系统缓存 - 从 Hosts 文件查找是否有该域名和对应IP。

3.路由器缓存 – 一般路由器也会缓存域名信息。

4.ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。

5.向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到IP

三、服务器处理

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

系统里安装的处理请求的应用叫 Web server(web服务器)

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

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


四、网站处理

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


五、浏览器处理

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

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

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

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

六、绘制网页

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

推荐阅读更多精彩内容