通过测试浏览器对网页中元素请求,提出减少浏览器请求的建议
来源:互联网 发布:c 二维数组赋值结构 编辑:程序博客网 时间:2024/05/22 08:02
最近一直在学习linux网络编程这一块的内容,自己做了一个简单web服务器,以前无法确切的了解web浏览器访问网页的的请求过程。现在有着样的条件了,所以就自己实现一下看看过程了。
浏览器展示一个网页的过程:(不涉及本地缓存,假设本地没有缓存)
浏览器向服务发送请求,请求一个页面。
服务器响应请求,向浏览器发送页面。
浏览器加载页面,如果有外部文件,转向4步,没有结束
浏览器依次生成进程,分别请求所需文件。
服务器响应请求,向浏览器发送外部文件。
浏览器加载外部文件。
下面是我测试得到的结果的截图。(此网页中有外部的css、js、图片)
浏览器结果(本代码和结论只经过本人的简单测试,可能存在问题。请相信自己的能力,敢于质疑。欢迎提供更好的、更快、更简洁的代码或者方法和指出错误。在ubuntu12.04使用gcc4.6.3版本编译,在vc中如出现错误,请谅解。)
请求网页的效果图:
得到浏览器请求的结果:
看完测试结果后,大家发现浏览器先请求了页面,依次请求了外部文件所需要的文件。由于我写的是单线程的服务端,大家可能会看到浏览器发送请求的文件的顺序,如果你看了网页的源代码,你会发现web浏览器请求的顺序正好是网页中的书写顺序。我可以将想要优先显示的内容书写到代码考前的部位。
通过以上信息对于web开发者的建议:
将内容少的js和css直接嵌入网页中,从而减少浏览器的对web服务器的请求次数。减少web服务器的负担。
减少外部文件,将可以合并的文件放到一个文件中,从而减少浏览器的对web服务器的请求次数。减少web服务器的负担。(可以选择在发布时合并文件,便于开发。通常是css和js文件)
- 见多个小图表合并到一起,统一请求文件。
将优先显示的外部文件代码书写到前面。将不重要的文件放到最好请求。
- 同一个外部文件网页只会请求一次。
如果针对本页面来说,js为空,css内容也很少,如果直接嵌入网页页面中,将会只有两次web浏览器请求的。
代码和测试主页、makefile等文件:测试文件按文件地址
blog:http://blog.csdn.net/rentiansheng/article/details/8274489
- 通过测试浏览器对网页中元素请求,提出减少浏览器请求的建议
- 通过浏览器测试POST请求
- Safiri浏览器中JS通过DWR重复请求的问题
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- HTTP请求中浏览器的缓存机制
- 对http提出Get请求,获取网页内容
- url对中文编码 ie浏览器中请求报错
- 怎么通过浏览器的f12,捕获http请求?
- 通过Java获得浏览器的所有请求内容
- chrome浏览器查看网页请求首部
- 通过浏览器请求一个域名IP
- IE浏览器中XMLHttpRequest对同一个URL只发送一个请求问题的解决。
- IE浏览器中XMLHttpRequest对同一个URL只发送一个请求问题的解决。
- 编码规范
- ubuntu12.10不能进入桌面问题
- Java一条语句断定本机的大小端
- Word中中文输入为宋体,英文输入为Times New Roman实现自动切换
- Python异常处理
- 通过测试浏览器对网页中元素请求,提出减少浏览器请求的建议
- 在 ajax应用当中的编码问题
- 先跟遍历和中跟遍历建树
- 传说中的WCF(10):消息拦截与篡改
- poj 1013(找出假币)
- android电话拨号器
- oracle 中的dual表
- 二叉树的先跟遍历,中跟遍历,后根遍历
- 数据库笔记