周大老板很高兴,“国内像朋友网这样的大站还有不少,比如QQ空间,那皮肤设计的花里胡哨,加载进🕓去得10秒钟。还有淘宝,那么多商品图片,想打开网页也非常缓慢。咱们要帮帮同行啊!”
张一明🇮泼了冷水,“这事没那么容易♪,涉及到很多方面。”
“怎么回事?”
“这事技术🃙😊委员会讨论🆅🍋过,可以让搜索业务、浏览器业务跟朋友网同步进行,三个项目同时启动,彼此联动。可项目资金有点大,被否了。”
然♓后,张一明就简单的解释了这其中的原理。
网页的加载过程,背后的逻辑并不简单。
用户需要通过浏览器,跟网站进行“握手”互动,获得网站许可了,就进入网站服⚈🏜🚿务器,提🃭取🄬🀥其网站数据。
然后把数据渲染出来,就变成呈现在用户屏幕☥🁡前的网页了。
提取的数据,如果是线性的,那么网线的呈现方式就是一个模块接着一个模块的传统方式。如果并行的提取,是分布式的,🐮🃋🖍网站的加载就可以像瀑布那样的从上到下,很迅速。
可这技术别人都没有。
而且,这也只是网页加载提速的一部分。
这♓个过程中,浏览器需要跟网站履行一系列的网络协议,三次握手、四次握手,协议达成了之后,才能开始提取数据。
过程太繁琐。
如果🃔🗠能简化这个流程,网页加载🃈🕵🍽速度就能提高。
还有,浏览器和网站服务器是顺序、线性🃧执行的关系,服务器必须等待浏览器的请求,这样就会造成服务器的空闲。浏览器工作时,服务器在等待,而服务器📡🜘工作时,浏览器在等待🝃🈚,这也是一种时间上的浪费。
假如双方能同时工作、并行工作,就可🇻🝲以🃧提高速度。
并行就是分布式。
第三点,用户在使用网🆅🍋站的过程中,就是浏览器和网站服务器交互的过程,这个期间需要💌🐠🁒不停的发送信号,浏览器申请、服务器允许,申请、允许,申请、允许……不🕎🈝停的握手,不停的交互。
如果把后续的这些过程尽🌔⚚可能的省略,减少服务器发送请求,就可以大大的节省网站服务器的负载,带🚃🐩来性能上的提升🅘……