• 浏览器缓存类


    1:浏览器的缓存分为哪几种?请简要说明。

    分为两种:强缓存和协商缓存

    强缓存

    强缓存利用http的头部的expires和cache-control来控制

    expires:是一个绝对时间,表示缓存的过期时间,在这个时间点之前,表示命中缓存,缺点:这是服务器上的时间,有可能与客户端的时间有差异

    cache-control:max-age 是一个相对时间,单位是秒,比expires要可靠些

    协商缓存

    当浏览器第一次向服务器请求资源的时候,会把资源返回给浏览器,并将资源的一些信息如(文件摘要,最后修改时间)等返回给浏览器,并告诉浏览器将这些信息缓存起来,当浏览器再次向服务器请求时,会将这些信息一起发送给服务器,服务器根据浏览器的缓存资源判断是否需要进行更新,如果不需要更新,就返回304,和not-modified,否则就返回新的资源

    协商缓存利用[last-modified,if-modified-since] 和[etag,if-not-match]来管理

      1:浏览器第一次请求服务器资源的时候,服务器返回该资源,并将last-modified返回给浏览器

      2:当浏览器再次向服务器请求该资源的时候,会带上if-modified-since,它的值就是三次服务器返回的last-modified

      3:服务器根据if-modified-since的值和资源最后一次修改的时间对比,如何两者相等,返回304,则命中协商缓存,否则重新返回新的资源

    有时候last-modified不是很精确,比如修改了某些注释,这时候就得用上etag 和if-not-match

      1:浏览器第一次请求服务器资源的时候,服务器返回该资源,并将etag返回给浏览器,etag表示资源内容的唯一标识,只用资源的内容修改,etag就会发生改变

        2:当浏览器再次向服务器再次请求该资源的时候,会带上if-not-match,它的值就是上次服务器返回的etag,这时候服务器会根据if-not-match和资源的etag做比较,如果两者相等,说明资源内容没有发生改变,返回304,否则返回新资源

  • 相关阅读:
    Apple Magic Keyboard All In One
    KMP Algorithm All In One
    js parser HTML template string to DOM element All In One
    Mac 电脑外接键盘的 Win 键坏了, 按了没反应, Win 键失效了问题排查和修复 All In One
    解决手机端手机键盘遮挡下边内容问题
    powershell 不能运行cnpm
    内容农场block
    '无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称' 或 'vue不是内部或外部命令
    powershell 设置代理
    cmd powershell proxy 代理 设置
  • 原文地址:https://www.cnblogs.com/liangshuang/p/8985155.html
Copyright © 2020-2023  润新知