浏览器的内核有哪些?
| 内核 | 浏览器 |
|---|---|
| IE | Trident 还有360浏览器 |
| Gecko | FF,MozillaSuite |
| Presto | Opera7及以上。[Opera内核原为:Presto,现为:Blink;] |
| Webkit | Safari,Chrome |
刷新页面,JavaScript 请求一般会有哪些地方有缓存处理
-
DNS缓存,一定时间内多次访问同一个网站,不会多次访问DNS服务器
-
CDN缓存 内容分发各个网点服务器
-
浏览器缓存 浏览器在磁盘上对最新请求过的文件缓存
-
服务器缓存,对需要频繁请求的放到缓存里面
浏览器缓存策略之Cache-Control
cache-control: 是定义资源文件被缓存的时间和方式的一个http头 Cache-Control: max-age=2592000, public
"max-age":定义了缓存的时长 最大值是1年 要考虑文件类型和缓存方式
cache 可设置4中属性:
- public "public"指令指服务器返回不仅可以被浏览器缓存,而且可以被中间代理缓存,后续其他用户请求该资源,都可以直接使用该的缓存。
- private private 指令表明,服务器返回只能被用户的浏览器缓存
- no-cache 该指令如果没有指定了一个字段名,那么缓存每次都需要被验证是否未变更,验证通过则返回304,直接使用缓存。如果指定了字段名,则后续请求只须验证该字段。
- no-store 该指令表明,服务器返回任何时候都不能被缓存,这主要是为了保护敏感数据。但这种方式来保护敏感信息是不可靠的
|缓存方式 | 获取资源形式 | 状态码 | 发送请求到服务器 | | ------ | ------ | ------ | | 强缓存 | 从缓存取 | 200(from cache) | 否,直接从缓存取 | 协商缓存 | 从缓存取 | 304(not modified) | 是,正如其名,通过服务器来告知缓存是否可用