美文网首页饥人谷技术博客
从URL输入到页面展现的过程解析

从URL输入到页面展现的过程解析

作者: SaSa_Wang | 来源:发表于2018-01-03 20:11 被阅读0次

    在浏览器里输入了www.baidu.com ,然后跳出了百度首页。这短短的几秒里发生了什么呢?

    简单来说,从输入URL到页面展现有6步:

    1. 输入URL
    2. 域名解析
    3. 服务器处理
    4. 网站处理流程
    5. 浏览器处理
    6. 绘制页面

    1.输入URL

    • URL是什么
      统一资源定位符,用于定位互联网上的资源。互联网上的每个文件都有一个唯一的URL,基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件。
      模式/协议(scheme)告诉浏览器如何处理将要打开的文件,而服务器名称(IP地址)、路径和文件则指出文件位置。
      对于 http:// baidu.com,http是一种网络协议。除了http,还有https、ftp、file 等其他协议。

    2.域名解析

    当我们输入http://baidu.com时,浏览器实际上并不能理解输入的内容,而是要查找与输入的URL对应的网站服务器的IP地址,这个查找的过程就是域名解析。

    • IP是什么?
      IP地址是给每个连接在互联网上的设备配的一个32位地址,比如192.168.8.8。
    • 域名是什么?为什么要使用域名?
      对于http://baidu.com,它的域名是baidu.com。对于人类的大脑来说,IP地址是一串数字,很难记忆,语义化的域名相对便于记忆。域名就是一个更加容易记忆的目标主机的地址标识符。
    • DNS是什么?
      DNS: 域名系统服务器像是一本网站通讯录。当你在浏览器内输入一个网址时,浏览器获取网页之前将会查看域名系统。浏览器需要找到存放你想要的网页的服务器,才能发送 HTTP 请求到正确的地方。
      域名的解析是通过查看DNS信息,检索得到域名对应的IP地址。
      浏览器会依次在这些地方查找DNS :
      1.浏览器缓存
      2.系统缓存
      3.路由器缓存
      4.ISP DNS 缓存
      5.根域名服务器(根服务器将请求转发至下级,直至找到 IP)

    3.服务器处理

    找到IP后,浏览器向对应IP地址的服务器发送请求。服务器处理请求的应用Web server收到请求后,交给网站代码或接受请求反相代理到其他web服务器。常见的web server产品有apache、nginx、IIS或Lighttpd等。

    4.网站处理流程

    网站处理流程就是服务器处理请求的过程,通常以MVC设计模式处理。

    -MVC 设计模式
    Model(模型) View(视图) Controller(控制器)



    控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回html字符串给浏览器。

    5.浏览器处理

    加载-->解析-->渲染

    浏览器接受html字符串后,被一句句读取解析。遇到link标签,浏览器会再次向服务器发送请求获取css文件;遇到image标签,发送请求获取图片资源;遇到script标签时,发送请求获取js文件,并执行js代码。

    相关文章

      网友评论

        本文标题:从URL输入到页面展现的过程解析

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