cookie,webstorage的理解
在前两天的开发时,遇到一个问题,需要将一个网页在预加载时,优先出一个弹出框,但是再次加载时不希望它出现,在经过一段时间的搜索和尝试之后,发现了大多使用的两种方式:生成cookie和webStorage,简单来说就是创建网站缓存,记忆下曾经显示过,在之前的网站开发中,用到最多的就是cookie,但是这一次,在只考虑前端的情况下,我不知道如何下手了,一时之间忘记了动态生成cookie的操作,于是发现了一个更加好用的方式webStorage,webstorage分为两种方式,一种是localStorage,另一种是sessionStorage
webStorage的两种方式存在区别,localStorage是一种永久存在的网站缓存,这意味着如果使用这一种方式进行网站的设计,那么永久的存储需要手动的删除localStorage信息;sessionStorage类似于临时的网站缓存,仅对当前任务窗口起作用,关闭窗口或者关闭浏览器都会自动清除
$(document).ready(function () {
//弹框的显示(session方式)
if(!window.sessionStorage.getItem("storage")){
$('#auth').modal('show')
window.sessionStorage.setItem("storage",'true')
}
//弹框显示(local方式)
if(!window.localStorage.getItem("storage")){
$('#auth').modal('show')
window.localStorage.setItem("storage",'true')
}
})
由于wbStorage不能设置过期时间,更多情况下是需要设置过期的,webStorage不建议使用,但如果仅仅是一个提示作用的弹出框等无关紧要的可以使用,从而实现降低服务器压力的作用,其次是cookie的使用,cookie可以实现与服务器的交互通信:每次携带在HTTP的headers中,但不可以保存过多的cookie,一般情况下,网站的一个站点最多保存20个cookie,每一个不能超过4kb
cookie的优缺点:
优点:具有极高的扩展性和可用性 1、通过良好的编程,控制保存在cookie中的session对象的大小; 2、通过加密和安全传输技术,减少cookie被破解的可能性; 3、尽量在cookie中存放不敏感的数据,即使被盗取也不会很大损失; 4、控制cookie的生命周期,即设置过期时间 缺点: 1、cookie的长度和数量的限制,每个站点只能最多20个cookie,每一个不能超过4kb,否则会被截掉 2、安全性,如果cookie被人拦掉了,那个人就可能会获取到所有session的信息,加密也不起作用 3、实现的能力有限,因为cookie是存在客户端,有些需要服务端做的事情,如果使用cookie,无法进行正常实现 |
cookie,webstorage的理解的更多相关文章
- cookie导读,理解什么是cookie
一.cookie导读,理解什么是cookie 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2. ...
- 对session和cookie的一些理解
由于项目需要,最近用session容器比较多,传载的同时加上了自己的一些理解,不足之处还请大家补充和纠正.); response.addCookie(c1); * ...
- cookie&&session再理解笔记
就拿php来说,两个php页面之间不拿get,post传递变量的话,数据是不能共享的.访问完1.php页面该页面的变量就被销毁了.所以就拿学校食堂来说,拿现金买饭的话你交完钱后,他给你个票以便确认你, ...
- cookie mapping 原理理解
深入浅出理解 COOKIE MAPPING Cookie mapping技术 利用javascript跨域访问cookie之广告推广
- 关于bottle WEB框架中签名cookie的一点理解
首先要理解一个概念 MAC (message authenticate code) 消息认证码(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具. 构造方 ...
- 对Django框架中Cookie的简单理解
概念的理解:首先Cookie和Session一样,是django中用于视图保持状态的方案之一.为什么要进行视图保留呢,这是因为浏览器在向服务器发出请求时,服务器不会像人一样,有记忆,服务器像鱼一样,在 ...
- session和cookie的简单理解
0. 引子,我们为什么要cookie和session 因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再 ...
- Cookie实例,理解cookie
一.一句话了解cookie是什么 cookie是服务端发送给客户端的.用来记录一些信息(如用户名),定制主页,聚焦广告的.最终以文件形式存在于客户端电脑磁盘下的小型文档. 二.用实例来认清cookie ...
- cookie路径概念理解
.创建一个cookie并设置 cookie的有效路径: $.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 注:在默认情况下 ...
随机推荐
- React-Native三种断点调试方式的流程和优缺点比较
RN的调试和web端的调试虽然相似,但是也有一些不同,下面就来比较一下三种断点调试方法的差异 总结: 感觉还是第一种好一些 1.React-Native-Debugger工具调试法 1.1 首先我们得 ...
- C++之typename和typedef关键字
1. typename的作用 template <typename Distance> class KDTreeIndex : public NNIndex<Distance> ...
- python3 tornado api + angular8 + nginx 跨域问题
问题: 上一个博客部署好了api之后,前端开始吊发现了跨域的问题. 接口地址: http://111.231.201.164/api/houses 服务器上使用的是nginx转发 数据: 前端ang ...
- js中关于constructor与prototype的理解
1.①__proto__和constructor属性是对象所独有的:② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性. 2. ...
- js-函数的三种创建方式
1.声明式 function fn() { //do something } 2.函数表达式 let fn = function () { //do something } 3.构造函数 functi ...
- 嵌入Canvas App到Dynamics 365 Customer Engagement(Model-Driven App)中,创造更多可能!
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- FloatingActionButton动态更换背景色
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/186 FloatingActionButton 动态更换背 ...
- 如何使用python远程操作linux
在云服务测试中,往往需要我们进入云服务内容进行相关内容的测试.这测试可以使用平台自身的noVNC.外部辅助xshell等工具连接到云服务内部进行测试.但是在如此反复的测试操作中,就需要用到自动化测试方 ...
- PHP三元运算符的写法
(expr1) ? (expr2) : (expr3); //php三元运算符的写法 $status = 3; $info2 = $status == 1 ? '待处理' : '已处理'; echo ...
- diango运行流程
diango运行流程 Django处理一个请求的流程: 在浏览器的地址栏中输入地址,回车,发了一个GET请求 wsgi模块接收了请求,将请求的相关信息封装成request对象 根据地址找到对应函数 执 ...