美文网首页饥人谷技术博客
从URL输入到展示页面发生了什么?

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

作者: 孙炎_ | 来源:发表于2018-12-21 21:44 被阅读12次

    当用户打开浏览器,输入 www.baidu.com,页面展示百度首页。整个过程发生了什么?本文以此为例做个简单介绍。该过程主要分为:

    1. 域名解析
    2. 服务器处理
    3. 网站处理。

    接下来,首先需要了解两个概念:

    URL是什么?

    URL:统一资源定位符,用于定位互联网上的资源。

    基本URL包含:协议、服务器名称(或IP地址)、路径和文件名。协议主要分为四种类型:http,https(加密协议),ftp(文件传输协议),file(本地文件系统)。

    IP地址是什么?

    每个连入互联网的设备都会被分配一个IP地址。IP地址分为公网IP和局域网IP,一般本机的IP地址为:127.0.0.1。

    1.域名解析

    当用户输入域名,如:baidu.com,(若端口为80,则默认省略端口号),浏览器会解析域名,获得该域名对应的IP地址。浏览器是怎么解析域名对应的IP地址的呢?首先浏览器会查找DNS缓存,若有过缓存记录则直接连接;如果没有,继续向上一层,即系统缓存,也就是hosts文件中查找;如果仍然无法找到,则继续查找路由器缓存;以此类推,查找电信 ISP DNS缓存,最后则会向根域名服务器查找。最终找到该域名对应的IP地址。

    小插曲:通过域名查找原理就不难理解DNS劫持了,黑客可以通过修改因特网中的DNS缓存,让用户输入正确的域名地址,跳转到假冒网站。

    2.服务器处理

    当浏览器找到IP地址后,就会向IP地址对应的服务器发送请求。服务器是一台安装了系统的机器,常见的系统如Linux,Windows Server。服务器会安装处理请求的软件一般叫做:Web服务器(例如:Apache,Nginx)。Web服务器接收Requset,根据请求域名的不同,返回不同的页面路径。

    3.网站处理

    根据不同的请求路径,后端程序控制器(Controller)会从模型(Model)中得到用户请求的数据然后发送给html模板(View),之后进行组合,将带有用户数据的html页面返回给浏览器。以上的处理流程就是一个MVC模式的简单样式。如下图所示:


    MVC模式

    接下来,浏览器对返回的html页面,一句句读取进行解析;比如:解析到link标签后重新发送请求获取CSS,解析到script标签后发送请求获取JS,并执行代码。
    最终经过以上的步骤,浏览器就会渲染出我们看到的网站页面。

    本文为孙炎的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

    相关文章

      网友评论

        本文标题:从URL输入到展示页面发生了什么?

        本文链接:https://www.haomeiwen.com/subject/sfsvkqtx.html