美文网首页php
浏览器输入网址并打开,整个过程发生了什么?

浏览器输入网址并打开,整个过程发生了什么?

作者: 饥人谷_张晓霞 | 来源:发表于2019-02-11 20:16 被阅读0次

    比如,打开浏览器,输入baidu.com并回车,到百度页面的成功展现,中间发生了什么?

    1. 在浏览器里输入网址 baidu.com
    2. 域名解析

    域名解析就是域名到IP地址的转换过程,把baidu.com解析成对应的IP地址,IP地址就像是电话号码,有了电话号码,你就可以专门和某个人通电话;同样,找到了这个域名对应的IP地址,就能顺藤摸瓜访问该网站。
    域名的存在就是为了方便记忆,而不用记一长串没有规律,让人摸不着头脑的IP地址,能让人更方便的访问互联网。

    域名解析的流程:
    (1). 浏览器缓存,浏览器会缓存DNS(Domain Name System,域名系统)一段时间。
    (2). 系统缓存,从Hosts文件查找是否有该域名和对应IP。
    (3). 路由器缓存,路由器也会缓存域名信息
    (4). ISP DNS缓存,到互联网服务提供商的DNS里查找缓存
    (5). 按以上顺序还是查找不到缓存,就要向根域名服务器查找域名对应的IP,根域名服务器把请求转发到下一级,直到找到IP。
    根据IP与Web服务器建立TCP连接(三次握手)。

    3. 服务器处理

    服务器是一台安装系统的机器,比如linux,windows server系统,系统里安装了一个处理请求的应用叫Web server。
    Web server也叫Web服务器,它主要提供网上信息浏览服务,解析HTTP协议,如接收用户的一个HTTP请求,处理并响应该请求,返回一个HTML页面或其它返回结果。
    有Apache、Ngix、IIS、Lighttpd、Node等Web服务器。

    4. 网站处理流程

    网站处理,也就是后台处理。后台开发有很多框架,MVC模式是主流。
    MVC分层模式提供了对HTML、CSS、JavaScript的控制。

    • M - Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。负责在数据库中存取数据。
    • V - View(视图)是应用程序中处理数据显示的部分。依据HTML、CSS等创建出来的页面。
    • C - Controller(控制器)是应用程序中处理用户交互的部分。它接受请求并调用模型去处理请求,最后再显示返回的视图。

    5. 浏览器处理

    服务器处理并响应请求,后台处理后返回的数据被浏览器接收,在加载整个html页面的同时进行解析,解析过程中遇到link、script、img等标签后重新发送请求获取css、js、图片等资源,并执行js代码,生成DOM树。

    6. 绘制网页

    根据html、css计算得到渲染树,再依据渲染树将页面进行渲染,就是将DOM树进行可视化表示,绘制到屏幕上,最终完成页面展示。

    相关文章

      网友评论

        本文标题:浏览器输入网址并打开,整个过程发生了什么?

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