浏览器多进程&多连接&keepalive&请求合并

来源:互联网 发布:rs232c vb 编辑:程序博客网 时间:2024/05/21 07:47

1、浏览器多进程

      为了浏览器更强的健壮性,更快的响应速度,同时更也更安全,目前浏览器均采用多进程架构。例如Google Chrome即是创建三种不同类型的进程:浏览器进程,渲染器进程,插件进程。

    浏览器进程:浏览器进程只有一个,用于管理标签页、窗口和浏览器本身。这个进程同时负责处理所有跟磁盘、网络、用户输入和显示的交互,然而它不分析和渲染任何网页内容。

    渲染器进程:渲染器进程会创建多个进程,每个都负责渲染网页。渲染器进程中包含用于操作HTML,JavaScript,CSS,图片和其他内容的复杂的逻辑。我们使用了也同样被Apple Safari浏览器使用的开源的WebKit渲染引擎实现以上功能。每个渲染器进程都运行在沙箱内,这意味着它对磁盘、网络和显示器没有直接的访问权限。所有跟网络应用的交互,包括用户输入事件和屏幕绘制都必须通过浏览器进程。这可以让浏览器进程监视渲染器的可疑行为,一旦发现其从事破坏活动就将其终止。

     插件进程:浏览器进程同样为处于使用状态的每种类型的插件创建一个进程,如:FlashQuicktimeAdobe reader。这些进程仅仅包含插件本身以及和浏览器进程、渲染器进程交互的胶水代码。

    原文:http://blog.chromium.org/2008/09/multi-process-architecture.html

    译文:http://blog.csdn.net/ithzhang/article/details/7917754

 

2、浏览器多连接

     尽管HTTP1.1协议建议每个域名建立2个连接(rfc2616),但是浏览器为了弥补HTTP串行发送的劣势,完全没有理会这个RFC。目前主流的浏览器连接数均在6个以上。具体可参见:http://www.browserscope.org/?category=network&v=top

   更多的并发连接数,这样就会大大的提高网页加载速度

  

3、Keep-alive

     TCP连接复用,节约TCP三次握手时间。


4、请求合并

     将在页面中将多个css、js等资源的请求合并为一个请求。合并请求可以节约HTTP头请求和相应的时间,也可以更有效的利用网络带宽。

     https://www.zhihu.com/question/34401250



0 0