火狐弃用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. LeetCode 1. twoSums

    C++: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int&g ...

  2. (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)

    We have already seen how to make jQuery react to the loading of a web page. The $(document).ready()e ...

  3. 转载:js 创建对象、属性、方法

    1,自定义对象. 根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方. 与自定义对象相对应的是JS标准对象,例如Date.Array.Math等等. 2,原型(prototy ...

  4. IIS上不能播放mp4

    iis不支持mp4格式,需要手动添加. 进入iis服务管理器,打开你的网站,然后点击MIME类型---添加(扩展名:mp4   MIME类型:application/octet-stream) 如此即 ...

  5. EditText 双击才能获取点击事件

    在获取EditText点击事件的过程中,发现EditText setOnClickListener事件响应中,只有获取焦点的时候才会响应, 如当焦点在别的控件上时,只能先点击获取焦点,第二次点击才会响 ...

  6. python 学习之Windows 下的编码处理!

    问题1: Non-ASCII character '\xe9' in file 问题原因:程序编码上出现问题 解决方法:在程序头部加上代码 #-*- coding: UTF-8 -*- 设置代码编码为 ...

  7. Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法(通过COM来改造)

    刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文. 关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的 ...

  8. Gson使用初探

    参考地址: http://www.stormzhang.com/android/2014/05/22/android-gson/ 我的示例代码: public void doGsonTest(View ...

  9. Git怎样同一时候删除多个仓下的同一个分支

    每次下载完代码我们都会在本地通过repo start my_local --all建立分支,这样我们下载的代码在每一个仓下都有一个名叫my_local的分支,有些时候我们因为须要还会建立其它分支,当我 ...

  10. ubuntu之iptables

    1.更新iptables并立即生效: a.保存当前设置:iptables-save > /etc/iptables.up.rules b.修改iptables规则: 例如: -I INPUT - ...