ie中https(SSL)不能下载问题解决方案 - javaee
来源:互联网 发布:大数据 服务型政府 编辑:程序博客网 时间:2024/06/07 00:17
[原]ie中 https(SSL)不能下载问题解决方案 - javaee
URL: http://m.blog.csdn.net/blog/buyaore_wo/7380004
http://blog.csdn.net/buyaore_wo/article/details/7380004
2012-3-21阅读2095 评论0
前几天在把几个web应用配置为https (SSL)时出现了一个问题 搞了几天 查了资料才解决
我在csdn的论坛上也提了这个问题可以没有人回答,这里就不详细描述问题了 问题查看:http://topic.csdn.net/u/20120320/11/7bdeb2a1-231c-4302-b051-4e02d139d572.html
问题剖析:这是ie的一个bug,详见:http://support.microsoft.com/kb/323308
大概就是ie在https上当服务器返回的文档头Header里设置的缓存(Cache-Control)t和Pragma为private时下载资源文件就有问题了 ,但是设置为public了就没有问题了
我这里就以我出现的问题说明解决方法,我的问题是flex项目使用https后flash加载不成功
在web.xml中加filter对swf过滤,设置Cache-Control和Pragma为public
filter 如下:
public class SwfSSLFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest httpServletRequest = (HttpServletRequest) request;HttpServletResponse httpServletResponse = (HttpServletResponse) response;// 通过https访问swf时if (httpServletRequest.getScheme() == "https"&& httpServletRequest.getRequestURI().endsWith(".swf")) {httpServletResponse.setHeader("Expires", "0");httpServletResponse.setHeader("Pragma", "public");httpServletResponse.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");httpServletResponse.setHeader("Cache-Control", "public");}chain.doFilter(request, response);}public void init(FilterConfig filterConfig) throws ServletException {}}
web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><filter><display-name>SwfSSLFilter</display-name><filter-name>SwfSSLFilter</filter-name><filter-class>com.the4thcity.mg.filters.SwfSSLFilter</filter-class></filter><filter-mapping><filter-name>SwfSSLFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><login-config><!-- Authorization setting for SSL --><auth-method>CLIENT-CERT</auth-method><realm-name>Client Cert Users-only Area</realm-name></login-config><security-constraint><!-- Authorization setting for SSL --><web-resource-collection><web-resource-name>SSL</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint></web-app>
主要是以下处理
httpServletResponse.setHeader("Expires", "0");httpServletResponse.setHeader("Pragma", "public");httpServletResponse.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");httpServletResponse.setHeader("Cache-Control", "public");如时其它语言的程序,就是在响应(Response)中设置header的以上几个属性
0 0
- ie中 https(SSL)不能下载问题解决方案 - javaee
- ie中 https(SSL)不能下载问题解决方案 - javaee
- ie中https(SSL)不能下载问题解决方案 - javaee
- wget因为https和ssl的原因不能下载
- 下载Android源代码时提示Connection to https://dl-ssl.google.com refused问题解决
- iOS 9 Https问题解决方案
- Tomcat配置https与http自动跳转和tomcat单双向SSL配置及IE访问HTTPS下载文件失败
- Android中关于EditText不能取得值的问题解决方案
- 内存不能读写问题解决方案
- BlackBerry不能上网问题解决方案
- Gradle 不能刷新问题解决方案
- SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案
- SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案
- Linux中,wget下载卡死的问题解决方案
- 关于证书文件ie中不能下载的问题
- 关于证书文件ie中不能下载的问题
- https不能下载_解决方案
- 解决https不能下载文件
- tableview Group的使用-section Header的高度显示一致
- mysql配置目录错误:在安装mysql 5.6.19 时执行cmake命令是出现CMake Error: The source directory does not appear to contai
- 软件工程师的创业陷阱:接私活
- Android FTP操作
- iOS 初学笔记之常见的几种界面传值方式
- ie中https(SSL)不能下载问题解决方案 - javaee
- Android 轻松实现仿QQ空间下拉刷新
- 2015年百度之星程序设计大赛 - 初赛(2)【题解】
- 超级详细解读基本排序算法(不看后悔,带排序演示动画)
- PHP Memcached的扩展
- read和fread
- Git客户端(Windows系统)的使用
- 图形验证码
- 为Android增加一个关机命令