火狐弃用http,转而大力推广https的动作一石激起千层浪,非常多没有安装安全证书的站点使用新版火狐浏览器已经打不开了。

之前我们站点仅仅有涉及须要加密的部分连接为https协议。眼下看来不得不将整个站点的连接均加装https。原本执行正常的功能就这样出现了问题。具体情况是,产品列表页面使用ajax载入产品的时候不能再像从前那样缓存之前载入好的数据了。造成这样的情况的原因主要有两点,第一点是在后台设置的过滤器强制每一个页面不缓存内容。第二个原因便是由于整个站点都进行了安全加密,使得浏览器本身不会再进行页面缓存。解决问题的方法是在须要缓存数据的页面设置强制缓存,例如以下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
String path = request.getContextPath(); int nMinutes = 60 * 24 * 7;
Date d = new Date();
String modDate = d.toGMTString();
String expDate = null;
expDate = (new Date(d.getTime() + nMinutes * 60000)).toGMTString();
response.setHeader("Last-Modified", modDate);
response.setHeader("Expires", expDate); response.setHeader("Pragma","public");
response.setHeader("Cache-Control","public");
%>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link href="<%=path%>/resources/weixin/css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=path%>/resources/weixin/js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="<%=path%>/resources/weixin/js/progressbar.js"></script>
<script type="text/javascript" src="<%=path%>/resources/weixin/js/common.js"></script>
<script type="text/javascript" src="<%=path%>/resources/weixin/js/account.js"></script>
<script type="text/javascript" src="<%=path%>/resources/js/common.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#investpage").addClass("current");
if(isWeiXin()){
$("#page").val("1");
}
addMoreProducts();
});
</script>
<title>普惠理財-产品列表</title>
</head>
<body>
<header id="header">
<h3>产品列表</h3>
</header>
<div id="container">
<form id="centerForm" name="centerForm" method="post" action="">
<input type="hidden" id="page" name="page" value="1" />
</form>
<div id="proList" class="pro_list"> </div>
<div id="addTag " class="addTag">
<a href="javascript:void(0)" onclick="addMoreProducts()">
<span id="loading" class="icon"></span><span id="promtText">载入中...</span>
</a>
</div>
</div>
<footer id="footer">
<jsp:include page="../footer.jsp" />
</footer>
</body>
</html>

尤其要注意Cache-Control的值和Pragma的值均为”public“。

解决https无法缓存的问题的更多相关文章

  1. 解决IE浏览器缓存导致AJAX请求数据异常

    IE10浏览器会把AJAX请求的数据都缓存下来,然后每次想去刷新数据时发现数据都是一样的,于是导致数据显示异常. 解决方法: 在页面<head>标签里,加上以下声明: <!-- 解决 ...

  2. 让浏览器重新下载css文件,解决不刷新缓存的问题

    网站页面源代码中的css文件和js文件后面带一个问号,后面跟着一连串数字或字符,问号起不到实际作用,仅能当作后缀,如果用问号加参数的方法,可以添加版本号等信息 它的作用有:1.作为版本号,让自己方便记 ...

  3. 解决 IE6 背景缓存

    解决 IE6 背景缓存 <!--[if IE 6]><script type="text/javascript">document.execCommand( ...

  4. 利用gulp解决微信浏览器缓存问题

    做了好多项目,这次终于要解决微信浏览器缓存这个令人头疼的问题了.每次上传新的文件,在微信浏览器中访问时,总要先清除微信的缓存,实在麻烦,在网上搜罗了很多解决办法,终于找到了方法:利用gulp解决缓存问 ...

  5. 解决Safari页面缓存的问题

    在开发一个移动应用的过程中,遇到问题:在订单确认页,用户点击 收货地址链接,跳转到地址选择页面,咋选一个地址,跳转回订单确认页,发现收货地址没有改变,还是最开始的地址. 用Android手机发现地址有 ...

  6. [Web] HTML5新特性history pushState/replaceState解决浏览器刷新缓存

    转载: https://www.jianshu.com/p/cf63a1fabc86 现实开发中,例如‘商品列表页’跳转‘商品详情页’,返回时,不重新加载刷新页面,并且滚动到原来的位置. 1.首先,先 ...

  7. 解决https证书验证不通过的问题

    1.报错信息 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excepti ...

  8. Spring定时任务解决博客缓存数据更新问题

    最近在做博客系统的时候,由于很多页面都有右边侧边栏,内容包括博客分类信息,归档日志,热门文章,标签列表等,为了不想每次访问页面都去查询数据库,因为本身这些东西相对来说是比较固定的,但是也有可能在网站后 ...

  9. AndroidStudio cannot resolve symbol 解决办法 清楚缓存

    <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...

随机推荐

  1. Java学习之字符串练习

    1.给定一个字符串数组.按照字典顺序进行从小到大的排序. * 思路: * 1,对数组排序.可以用选择,冒泡都行. * 2,for嵌套和比较以及换位. * 3,问题:以前排的是整数,比较用的比较运算符, ...

  2. Models——英语学习小技巧之四

    Models  are very important, here model means role model, is kind of like a hero. It's  someone that ...

  3. Fedora 19下Guacamole的安装使用

    由于我要使用RDP实现web远程桌面,因此需要用到了Guacamole这个开源的软件.之前用Ubuntu12.04折腾了一晚上,也没有找到依赖库文件,而Guacamole的官方安装说明却没有介绍这个依 ...

  4. 转: Nodejs 发送HTTP POST请求实例

    项目里面需要用到使用NodeJs来转发HTTP POST请求,把过程记录一下: exports.sendEmail = function (req, res) { res.send(200, req. ...

  5. BZOJ 4518 [Sdoi2016]征途(分治DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4518 [题目大意] 给出一个数列,分成m段,求方差最小,答案乘上m的平方. [题解] ...

  6. Web平台开发流程以及规范

    1.js和css的放的位置顺序与加载速度分析 为了让客户先看到效果,必须要先加CSS 如果在先head加载CSS,如果CSS大,会先下载CSS,再渲染HTML标签 如果CSS放在head中,当显示出H ...

  7. windows下Qt Creator5.1.0编写程序以及调用OpenCV库

    系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...

  8. pojAGTC(LCS,DP)

    题目链接: 啊哈哈,点我点我 题意:给两个字符串,找出经过多少个操作能够使得两个串相等.. 思路:找出两个串的最长公共子序列,然后用最大的串的长度减去最长公共子序列的长度得到的就是须要的操作数.. 题 ...

  9. H5 应用程序返回button的js代码设计,设计仿stack

    history.back(); 该代码具有天然的缺陷,二手知道,于H5应用,尤其是模仿移动应用程序时,,这是不够. 在放大期js为了实现类似特征,请轻喷. 不多说,上代码: /** * Created ...

  10. 关于ASP控件对象的一些简单操作

    在线人数 Application.Lock(); Application[).ToString(); Application.UnLock(); Label1.Text = Application[& ...