浏览器缓存可以由前端设置,但大多数是服务端设置
前端设置缓存通过html文件的meta标签设置相应的缓存时间、过期时间等
但大多数情况下都是服务端返回的响应头中设置这些参数
❷ 能用JS或者前端的什么方法实现清除浏览器缓存吗
浏览器是根据url来保存网络请求的缓存的。所以,可以通过cache false的xmlhttprequest请求来覆盖掉缓存的内容,这需要你知道需要替换缓存的所有URL。
❸ 前端缓存都有哪些方法,有什么区别
浏览器缓存机制可以减少网络开销,以便获得更好的用户体验。在前端中常用的缓存有cookie及html中的localStorage和sessionStorage。
1、cookie、localStorage、sessionStorage区别和联系
共同点:都是保存在浏览器端,且同源的。
区别:
1)cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
2)cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
3)数据有效期不同:
sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
4)作用域不同:
不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息
cookie是在所有同源窗口中都是共享的
2、禁用cookie后,会出现什么现象?
一般情况session是需要cookie配合使用的,但是有些浏览器禁用cookie后,就需要使用其他方式来实现回话管理。
在客户端禁用Cookie的时候,我们要怎么做呢,可以有以下两种方法
URL重写或者隐藏域(暴露信息不安全,一般不用)
· 设置php.ini中的session.use_trans_sid = 1或者在PHP编译时打开–enable-trans-sid选项,让PHP自动通过重写URL传递session id。
· 如果是虚拟主机或者租用的服务器,无法去修改PHP.ini,那么可以手动通过URL传值,或者通过隐藏表单传递session id。说简单些就是自己去操纵sessionid这个唯一标识符,去鉴别用户即可。
3、登陆信息一般放在session中,cookie还有用吗?
有用,session会将sessionId存到cookie,再次请求时将sessionId随请求头给服务器,然后拿到sessionId进行查询即可。也就是说身份信息不会暴露在浏览器缓存中。只有sessionId暴露,提高安全性。
4、前端存cookie与后端存cookie有什么区别?
前端可以通过document.cookie来设置cookie,但是这种方式会暴露信息,除非hash加密;
服务器接受到http请求后在响应头加上Set-Cookie字段,它的值是要设置的Cookie的
❹ web前端开发如何不用清除缓存就可以看到新的东西
加个版本号,比如CSS,每次的名字命名多加个版本号,和之前的东西做个区分。
❺ 关于前端缓存的问题
缓存的概念 缓存这个东西真的是无处不在, 有浏览器端的缓存, 有服务器端的缓存
❻ 清除浏览器的缓存文件,是否会导致一些正常的插件也被清除比如一些银行网站的安全控件。谢谢!
不会,可以这样比喻,缓存就是你编辑的word文件,插件就像是你在电脑上装的word程序。删了文件当然不会把word程序也删掉,不是很恰当,但大概就是这个意思。 放心删吧。
❼ HTML5中的localStorage什么时候会被清空
h5本地存储localStorage,sessionStorage。
localStorage是没有失效时间的,sessionStorage的声明周期是浏览器的生命周期。
当浏览器关闭时,sessionStorage的数据将清空,而localStorage数据只要不通过代码特意的删除或手动删除,是永久保存的。
删除方法:localStorage.clear();
下边是我写的一个小测试,里边有用到localStorage
http://runjs.cn/detail/4aaszv8t
❽ HTML页面刷新清除页面缓存
JSP清理缓存的方法:
在jsp页里
<%response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
response.flushBuffer();%>
在html页里:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
❾ 能用JS或者前端的什么方法实现清除浏览器缓存吗
不能,只能清理自己域名下的少量数据,通过设置文件过期、JS删除cookie等清除。否则你的网站就可以清除其他网站类似“下次自动登录”的缓存数据,影响其他站点的正常使用。
❿ 能用JS或者前端的什么方法实现清除浏览器缓存吗
可以用JS实现清除浏览器缓存,解决方法如下:
1、在静态页面也就是以.html,.jsp,.aspx,.php结尾的文件中在<dead></head>中加入以下代码。
注意事项:
JavaScriptJavaScript基于对象和事件驱动并具有相对安全性的客户端脚本语言。也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。