美文网首页
How Web Browser Works

How Web Browser Works

作者: JellyL | 来源:发表于2017-04-16 23:36 被阅读39次

    Components of Browser###

    Components of Browser
    1. UI interface
      用户接口,浏览器中的地址栏、前进后退、书签菜单等,除了网页显示以外的区域。
    2. Browser engine
      浏览器引擎。查询与操作渲染引擎的接口。
    3. Render engine
      渲染引擎,显示请求的内容,渲染引擎可以显示html、xml文档及图片,其他数据格式需要借助插件来显示。主流浏览器中,Firefox使用Geoko——Mozilla自主研发的渲染引擎,Safari和Chrome都使用webkit。
    4. Networking
      网络,用于网络请求,例如HTTPS请求。
    5. JS Interpreter
      JS解释器,用于解析执行JavaScript代码。
    6. UI Backend
      绘制基础原件,比如组合框、窗口。
    7. Data Persistence
      持久层, HTML5规定了完整的浏览器中的数据库:web database.

    About URL [Uniform Resource Locator]###

    schema://domain[:port]/path[parameter][?query][#fragment]
    
    1. Schema or protocol 协议, 常用的是http/https
    2. Server domain name 域名或IP地址
    3. Port (default: 80) 端口号
    4. Path to the resource w/name & extension 路径, 网络资源在服务器中的指定路径
    5. Parameter 参数, 如果要向服务器传入参数,在这部分输入
    6. Query (optional) 查询字符串, 如果需要从服务器那里查询内容,在这里编辑
    7. Fragment id (optional) 片段id, 网页中可能会分为不同的片段,如果想访问网页后直接到达指定位置,可以在这部分设置

    Display a web Page###

    1. 首先用户需要在输入URI的地址栏输入url,点击搜索,然后浏览器解析这个url,并根据这个url向服务器发送请求。


      Get URL
    2. 当请求成功,服务器会返回显示页面所需的资源,浏览器会获取html,浏览器解析html,根据link去定位images、videos、stylesheet、javascript等资源。


      Browser fetches linked resources
    3. 浏览器将所有的资源聚集为内部文件,并存储为内部数据结构, 而这种数据结构对每种浏览器来说可能是不一样的。然后浏览器会渲染一个可见的页面。


      Browser renders the document
    4. 接下来浏览器会通过解析器, 将页面解析为DOM(Document object model)。


      Browser publishes the DOM
    5. Parse HTML and create DOM tree
      解析html,并根据所有的tag的嵌套关系生成DOM tree。
      ⚠️:当浏览器发现某些html存在一些问题,如没有tag的结束标识,浏览器在解析过程中会很灵活的对这些错误进行处理,所以尽管存在一些错误,页面还是可以正常解析成DOM tree。
    6. Create a render tree from DOM tree
      将所有的css 样式属性应用于DOM tree上相应的元素,将需要显示的内容生成render tree.
    7. Layout the render tree
      计算元素的绝对位置,即它们在屏幕上显示的位置。
    8. Painting
      将所有信息发送给UI back-end来画(显示)。
    9. Displaying

    相关文章

      网友评论

          本文标题:How Web Browser Works

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