回炉小记一(粗略)

192 阅读2分钟

浏览器的内核有哪些?

内核 浏览器
IE Trident 还有360浏览器
Gecko FF,MozillaSuite
Presto Opera7及以上。[Opera内核原为:Presto,现为:Blink;]
Webkit Safari,Chrome

刷新页面,JavaScript 请求一般会有哪些地方有缓存处理

  1. DNS缓存,一定时间内多次访问同一个网站,不会多次访问DNS服务器

  2. CDN缓存 内容分发各个网点服务器

  3. 浏览器缓存 浏览器在磁盘上对最新请求过的文件缓存

  4. 服务器缓存,对需要频繁请求的放到缓存里面

浏览器缓存策略之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) | 是,正如其名,通过服务器来告知缓存是否可用