经过测试浏览器对网页中元素请求,提出减小浏览器请求的建议

最近一直在学习linux网络编程这一块的内容,本身作了一个简单web服务器,之前没法确切的了解web浏览器访问网页的的请求过程。如今有着样的条件了,因此就本身实现一下看看过程了。 css

浏览器展现一个网页的过程:(不涉及本地缓存,假设本地没有缓存) linux

  1. 浏览器向服务发送请求,请求一个页面。 web

  2. 服务器响应请求,向浏览器发送页面。 编程

  3. 浏览器加载页面,若是有外部文件,转向4步,没有结束 ubuntu

  4. 浏览器依次生成进程,分别请求所需文件。 浏览器

  5. 服务器响应请求,向浏览器发送外部文件。 缓存

  6. 浏览器加载外部文件。 服务器

下面是我测试获得的结果的截图。(此网页中有外部的css、js、图片) 网络

浏览器结果(本代码和结论只通过本人的简单测试,可能存在问题。请相信本身的能力,勇于质疑。欢迎提供更好的、更快、更简洁的代码或者方法和指出错误。在ubuntu12.04使用gcc4.6.3版本编译,在vc中如出现错误,请谅解。) 学习

请求网页的效果图:



获得浏览器请求的结果:

 

看完测试结果后,你们发现浏览器先请求了页面,依次请求了外部文件所须要的文件。因为我写的是单线程的服务端,你们可能会看到浏览器发送请求的文件的顺序,若是你看了网页的源代码,你会发现web浏览器请求的顺序正好是网页中的书写顺序。我能够将想要优先显示的内容书写到代码考前的部位。

经过以上信息对于web开发者的建议:

  1. 将内容少的jscss直接嵌入网页中,从而减小浏览器的对web服务器的请求次数。减小web服务器的负担。

  2. 减小外部文件,将能够合并的文件放到一个文件中,从而减小浏览器的对web服务器的请求次数。减小web服务器的负担。(能够选择在发布时合并文件,便于开发。一般是css和js文件)

  3. 见多个小图表合并到一块儿,统一请求文件。
  4. 将优先显示的外部文件代码书写到前面。将不重要的文件放到最好请求。

  5. 同一个外部文件网页只会请求一次。

若是针对本页面来讲,js为空,css内容也不多,若是直接嵌入网页页面中,将会只有两次web浏览器请求的。

 

代码和测试主页、makefile等文件:测试文件按文件地址

 

blog:http://blog.csdn.net/rentiansheng/article/details/8274489

相关文章
相关标签/搜索