美文网首页饥人谷技术博客
从输入URL到页面展现这其中经历了什么?

从输入URL到页面展现这其中经历了什么?

作者: kiterumer | 来源:发表于2019-03-16 09:09 被阅读3次

    第一步:在浏览器地址栏输入URL

    比如我想访问知乎,我会在地址栏里输入www.zhihu.com,点击回车之后页面变跳转到了知乎的首页。

    然而URL是什么呢?

    URL:统一资源定位符(Uniform Resouce Location),用于定位互联网上的资源,对应的有常见的几种网络协议,如http,https,ftp,file等。
    比如本地的文件定位会用到file协议。

    第二步:域名解析

    将输入的域名通过DNS解析为IP

    1. 浏览器缓存——浏览器会缓存DNS记录一段时间
    2. 系统缓存——从HOSTS文件查找是否有该域名和对应IP
    3. 路由器缓存——一般路由器也会缓存域名信息
    4. ISP DNS缓存——比如到电信的DNS上查找缓存
    5. 如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器吧请求转发到下一级,直到找到IP

    第三步:服务器处理

    服务器是一台安装系统的机器,常见的系统有Linux、windows server2012.
    系统里安装的处理请求的应用叫Webserver
    Web服务器常见的有Apache、Nginx、IIS、lighttpd
    Web服务器接受用户的Request请求交给网站代码,或者接受请求反向代理到其他Web服务器
    Web服务器相当于一个管控承载站,通过里面已经写好的配置文件,将受到的请求分配到不用的代码文件去处理

    第四步:网站处理流程

    我们以MVC(Model View Controller)框架来演示大概的处理流程


    后台处理流程.png

    第五步:浏览器处理并展现

    浏览器接受服务器返回的html,并并进行解析加载。

    • 解析到link标签后重新发送请求获取css
    • 解析到script标签后发送请求获取js,并执行代码
    • 解析到img标签后发送请求获取图片资源
    • 然后浏览器根据html和css计算得到渲染树,绘制到屏幕上,js会被执行

    从输入URL到页面载入的流程实际中要复杂的多,很多细节还没有触及到。这其实是一个见不到底的坑,越挖越深

    相关文章

      网友评论

        本文标题:从输入URL到页面展现这其中经历了什么?

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