16-JavaScript-性能优化

页面性能

  • 浏览器缓存
缓存分类
  • 强缓存:直接拿来用的缓存
    • Expires Expires:Thu, 21 Jan 2018 23:39:02 GMT (表示绝对时间,时间来自服务器,但是做比较的时候以本地浏览器的时间作为比较)
    • Cache-Control Cache-Control:max-age = 3600(客户端相对时间)它的判断优先级高
  • 协商缓存:本地有副本,但无法确实是否可以使用,需要询问服务器
    • Last-Modified (服务端发过来修改时间)=== If-Modified-Since (通过这个Key值询问是否变化)
    • Etag (哈希值,如果修改时间变了,但是内容没变通过对比Etag值来判断是否可以再用)
    • If-None-Match是一个条件式请求首部。对于 GETHEAD 请求方法来说,当且仅当服务器上没有任何资源的ETag属性值与这个首部中列出的相匹配的时候,服务器端会才返回所请求的资源,响应码为 200 。对于其他方法来说,当且仅当最终确认没有已存在的资源的 ETag 属性值与这个首部中所列出的相匹配的时候,才会对请求进行相应的处理。