zoukankan      html  css  js  c++  java
  • HTTP(三) 缓存

    缓存

    缓存优点

    减少了冗余的数据传输;

    缓解了网络瓶颈问题;

    降低了对原始服务器的要求;

    降低了距离时延;

    再验证(新鲜度检测)

    大部分缓存只有在客户端发起请求,并且副本旧得足以需要检测时,才会对副本进行再验证。

    If-Modified-Since首部

    服务器内容未被修改 304 Not Modified

    服务器内容已被修改 200 OK

    服务器上的对象被删除 404 Not Found

    缓存命中率

    中等规模的缓存,40%的命中率是合理的。

    网状缓存

    ・根据URL在父缓存或原始服务器之间进行动态选择

    ・根据URL动态地选择一个特定的父缓存

    ・前往父缓存之前,在本地缓存中搜索已缓存的副本

    ・允许其他缓存对其缓存的部分内容进行访问,但不允许因特网流量通过它们的缓存

    缓存的处理步骤

    ・接受:缓存从网络中读取抵达的请求报文

    ・解析:缓存对报文进行解析,提取出URL和各种首部

    ・查询:查看是否有本地副本可用,若没有,就获取一份副本

    ・新鲜度检测:查看副本是否新鲜,若不是,就询问服务器是否有任何更新

    ・创建相应:用新的首部和已缓存的主题构建一条响应报文

    ・发送:缓存通过网络将相应发回给客户端

    ・日志:缓存可选地创建一个日志文件条目来描述这个事务

    Expires:绝对时间

    Cache-Control:相对时间

    缓存再验证

    If-Modified-Since:Date再验证

    该首部与Last-Modified服务器响应首部配合工作

    If-None-Match:实体标签再验证

    ETag标签 版本号

    缓存优先级:

    优先级递减

    ・Cache-Control: no-store

    ・Cache-Control: no-cache

    ・Cache-Control: must-revalidate

    ・Cache-Control: max-age

    ・Expires

    缓存控制

    Apache Web服务器控制缓存的机制

    HTTP首部

    ・mod_headers

    <Files *.html>

        Header set Cache-Control no-cache

    </Files>

    ・mod_expires

    ・mod_cern_meta

    通过http-equiv控制HTML缓存

    <meta http-equiv=”Cache-Control” content=”no-cache”>

  • 相关阅读:
    NVIDIA驱动瘫痪再重装的问题
    ubuntu 14.04下NVIDIA驱动及cuda toolkit安装
    ubuntu下sogou输入法的输入框只显示英文不显示中文的解决方法
    ubuntu14.04下安装opencv3.2
    ubuntu14.04 卸载 boost
    编译错误: /usr/lib may be hidden by files in /home/username/anaconda/lib
    爬虫抓取网页内容
    学生手册成绩分析以学院为单位进行划分
    VisualSVN 设置SVN客户端必须填写日志才能提交
    Linux系统上java应用(例如spring boot)启动慢的原因之一
  • 原文地址:https://www.cnblogs.com/dreamerjdw/p/6222152.html
Copyright © 2011-2022 走看看