美文网首页
Web缓存之浏览器缓存-http缓存

Web缓存之浏览器缓存-http缓存

作者: 萤火万千 | 来源:发表于2019-05-17 16:32 被阅读0次

    http请求设计

    API设计:url中加vn表示版本,节点表示业务、http方法表示动作(GET\POST\PUT\DELETE)、响应码、状态码
    拦截器:HttpInterceptor
    包括以下功能:身份认证token、统一相应处理、异常解决

    Web缓存

    数据库缓存、服务端缓存(代理服务器缓存和CDN缓存)、浏览器端缓存、Web应用层缓存
    http缓存就是Web缓存中的浏览器端缓存中的基于http协议实现的那一种,也是平时最常见的一种缓存。

    http缓存过程

    第一次请求
    第二次请求

    强制缓存

    expires:服务器返回的到期时间,用在HTTP1.0,存在缓存命中误差。HTTP1.1中用Cache-Control替代
    Cache-Control:private客户端缓存,public客户端和代理服务器缓存(对于FEdev,两者无区别)、max-age=xxx缓存内容在xxxs后失效,no-cache对比缓存进行缓存数据验证、no-store不缓存

    对比缓存(协商缓存)

    Last-Modified:第一次请求时,服务器返回的资源最后修改时间
    If-Modified-Since:再次请求时,浏览器通知服务器,上次请求时返回资源最后修改时间
    Etag:服务器响应请求时,返回资源唯一标识
    If-None-Match:再次请求服务器时,通过此字段通知服务器客户段缓存数据的唯一标识。


    强制缓存和对比缓存
    缓存对比

    对于强制缓存,服务器通知浏览器一个缓存时间,在缓存时间内,下次请求,直接用缓存,不在时间内,执行比较缓存策略。
    对于比较缓存,将缓存信息中的Etag和Last-Modified通过请求发送给服务器,由服务器校验,返回304状态码时,浏览器直接使用缓存。
    参考资料:
    HTTP2简介和web优化
    http缓存机制及原理
    Angular中优雅编写http请求
    Angular7 HttpClient处理多个请求
    HttpClient高并发下性能优化-http连接池

    相关文章

      网友评论

          本文标题:Web缓存之浏览器缓存-http缓存

          本文链接:https://www.haomeiwen.com/subject/wfcnaqtx.html