小弟大概了解了http协议的原理 知道它是请求与响应机制 并且是无协议的
但是有个问题还是不太明白,常常看资料说在用户第一次请求一个页面的时候,浏览器会在本地保存一个副本,但是http是无协议的即每次请求都是独立的,那么浏览器到底保存的副本是CSS或JS代码呢还是全部CSS+JS+HTML呢? 如果是全部感觉又有点矛盾
不矛盾,html+css+js(非inline的css/js)是不同的http请求,而浏览器缓存是针对http请求的URL。
就是说 如果页面上 有2个css文件 1几个js文件
那么会发生4次请求?
1 html
2 css1
3 css2
4 js
?
@狂扁小朋友: 是的
dudu说得对,具体情况是这样的,先请求html页面,如果页面中有图片或外部js/css文件就又会针对每个文件发送一个新的Http请求。这也就是为什么尽量将多个Css/js文件合并的原因。
最后给你推荐一个工具Fiddler,看到浏览器发送的所有http记录。