zoukankan      html  css  js  c++  java
  • 使用页面不缓存的方法

    使用户退出系统时不能通过“后退”按钮重新返回
    使用页面不缓存的方法:
    页面上
    <meta http-equiv='Expires' content='0'>
    <meta http-equiv='Pragma' content='no-cache'>
    <meta http-equiv='Cache-Control' content='no-cache'>

    Servlet类里
    response.setHeader("Cache-Control","no-store");//HTTP1.1指示请求或响应消息不能缓存
    response.setHeader("Cache-Control","no-cache");//用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

    response.setHeader("Pragrma","no-cache");//HTTP1.0本地就不会缓存,即每次请求的都是最新版本向后兼容
    //Expires属性是将页面缓存在客户端,在有效时间内用户第二次打开该页面,直接调用缓存的页面而不用再请求服务器.执行速度就快了
    response.setDateHeader("Expires",0);//在代理服务器端防止缓冲(禁止页面缓存的方法)


    1.使用服务器端控制AJAX页面缓存:
    response.setHeader( "Pragma", "no-cache" );
    response.addHeader( "Cache-Control", "must-revalidate" );
    response.addHeader( "Cache-Control", "no-cache" );
    response.addHeader( "Cache-Control", "no-store" );
    response.setDateHeader("Expires", 0);
    单纯的使用 xmlhttp.setRequestHeader("Cache-Control","no-cache")无效。

    2.Cache-Control头域
      Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:
      Public指示响应可被任何缓存区缓存。
      Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
      no-cache指示请求或响应消息不能缓存
      no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
      max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
      min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
      max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

  • 相关阅读:
    抓包的原理
    在ASP.NET MVC中使用JQ插件datatable
    如何禁用Visual Studio 2013的Browser Link功能
    SVN中tag branch trunk用法详解
    ASP.NET MVC和jQuery DataTable整合
    随便看的
    SQL查询今天、昨天、7天内、30天
    在DataTable数据类型最后增加一列,列名为“Column”,内容都为“AAA”
    validform表单验证插件最终版
    context.Session[“xxx”]详解
  • 原文地址:https://www.cnblogs.com/wdnnccey/p/6159212.html
Copyright © 2011-2022 走看看