博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet技术浅析(八)之-----浏览器缓存浅析
阅读量:4290 次
发布时间:2019-05-27

本文共 728 字,大约阅读时间需要 2 分钟。

1、浏览器缓存简述:

      许多浏览器为了能够快速向用户展示所请求的页面,会把来自服务器端的页面存放在客户端的缓存中,如果用户多次请求访问服务器端的同一个网页,那么浏览器只需从缓存中获取该网页,而不需在请求访问远程服务器上的网页。

2、缓存使用范围:

      浏览器端的缓存技术适用于保存服务器端的静态网页,以及不包含敏感数据的网页。

3、以下两种情况,服务器端不希望网页被浏览器缓存:

(1)网页包含随时会被更新的静态内容。如果浏览器向用户展示本地缓存中的网页,有可能展示的是过期网页。
(2)网页中包含敏感数据,如特定用户的银行账号信息,或者电子邮件的内容。如果浏览器把网页保存在本地了,有可能被其他未授权的用户,访问到该页。

4、解决方法:

服务器端的HttpServlet可通过设置特定HTTP响应头,来禁止客户端缓存网页,如
response 设置http响应头控制浏览器禁止缓存当前文档内容
    response.setDateHeader("Expries", -1);  
    response.setHeader("Cache-Control", "no-cache");  
    response.setHeader("Pragma", "no-cache");  
Pragma选项适用于使用HTTP 1.0协议的浏览器,
在HTTP 1.1中,”Cache-Control“选项用来决定客户端是否可以缓存网页,如果取值为”no-cache“,那么客户端不会把Servlet生成的网页保存在本地缓存中。

HTTP 1.0 和 HTTP 1.1 都支持”Expries“选项,因此所有的浏览器都能识别该选项。”Expries“用于设置网页过期时间,如果为0,就表示立即过期;

转载地址:http://ozqgi.baihongyu.com/

你可能感兴趣的文章
MySQL和Oracle的delete,truncate
查看>>
idea使用心得(2)-安装设置与创建web项目
查看>>
将项目放到服务器tomcat上运行
查看>>
JS几种变量交换方式以及性能分析对比
查看>>
Android面试一天一题(6)——如何进行技术选型
查看>>
Velocity笔记--使用Velocity获取动态Web项目名的问题
查看>>
安卓学习:如何将一个Activity设置成窗口的样式
查看>>
Android: 自定义 View
查看>>
MySQL-99语法:外连接与内连接-(左内连接多表和查询)
查看>>
Struts2之Struts2-2.5.5 Interceptor
查看>>
Java基础-21总结字符流,IO流编码问题,实用案例
查看>>
Zookeeper请求处理
查看>>
当Java遇见了Html--Jsp……
查看>>
什么是分布式数据存储
查看>>
Java 进阶——类成员初始化顺序
查看>>
厉害了我滴哥,原来验证码是这么造出来的!
查看>>
Oracle数据库中几种非常有用的函数(with……as等)
查看>>
简单学习Nginx之:动静分离
查看>>
JQUERY 选择器的用法
查看>>
Java 时间类-Calendar、Date、LocalDate/LocalTime
查看>>