在前两天的开发时,遇到一个问题,需要将一个网页在预加载时,优先出一个弹出框,但是再次加载时不希望它出现,在经过一段时间的搜索和尝试之后,发现了大多使用的两种方式:生成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的理解的更多相关文章

  1. cookie导读,理解什么是cookie

    一.cookie导读,理解什么是cookie    1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术.    2. ...

  2. 对session和cookie的一些理解

    由于项目需要,最近用session容器比较多,传载的同时加上了自己的一些理解,不足之处还请大家补充和纠正.);                  response.addCookie(c1);   * ...

  3. cookie&&session再理解笔记

    就拿php来说,两个php页面之间不拿get,post传递变量的话,数据是不能共享的.访问完1.php页面该页面的变量就被销毁了.所以就拿学校食堂来说,拿现金买饭的话你交完钱后,他给你个票以便确认你, ...

  4. cookie mapping 原理理解

    深入浅出理解 COOKIE MAPPING Cookie mapping技术 利用javascript跨域访问cookie之广告推广

  5. 关于bottle WEB框架中签名cookie的一点理解

    首先要理解一个概念 MAC (message authenticate code) 消息认证码(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具. 构造方 ...

  6. 对Django框架中Cookie的简单理解

    概念的理解:首先Cookie和Session一样,是django中用于视图保持状态的方案之一.为什么要进行视图保留呢,这是因为浏览器在向服务器发出请求时,服务器不会像人一样,有记忆,服务器像鱼一样,在 ...

  7. session和cookie的简单理解

    0. 引子,我们为什么要cookie和session       因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再 ...

  8. Cookie实例,理解cookie

    一.一句话了解cookie是什么 cookie是服务端发送给客户端的.用来记录一些信息(如用户名),定制主页,聚焦广告的.最终以文件形式存在于客户端电脑磁盘下的小型文档. 二.用实例来认清cookie ...

  9. cookie路径概念理解

    .创建一个cookie并设置 cookie的有效路径: $.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 注:在默认情况下 ...

随机推荐

  1. centos安装go环境

    centos安装go环境 1,下载合适的go安装包 https://studygolang.com/dl 2 上传到 centos服务器的 /usr/local下然后解压 3.设置go的环境变量    ...

  2. jQuery总结01_jq的基本概念+选择器

    jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果. 为什么要学习jQuery? [01-让div显示与设置内容.html] 使 ...

  3. Vue之富文本tinymce爬坑录

    前言 最近因业务需求在项目中嵌入了tinymce这个富文本编辑器,用于满足平台给用户编辑各类新闻内容什么的业务需求,前后也花了不少时间体验和对比了市面上各类开源编辑器. *案例demo版本:vue-t ...

  4. 分布式全局唯一ID生成策略​

    一.背景 分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表.因为数据量巨大一张表无法承接,就会对其进行分库分表. 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题. ...

  5. oracle 架构图

  6. 12C-使用跨平台增量备份减少可移动表空间的停机时间 (Doc ID 2005729.1)

    12C - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 20057 ...

  7. leetcode动态规划--基础题

    跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 思路 根据题目意思,最大跳跃距离,说明可以跳0--n ...

  8. 高阶组件&&高阶函数(一)

    antd里面的form表单方面,遇到一个高阶函数,以及高阶组件,于是看了一下这方面内容,前辈们的文章写得也非常详细,这里就稍微kobe一下 高阶函数与高阶组件 高阶函数: 高阶函数,是一种特别的函数, ...

  9. UI设计---初来乍到

    2019.12.1   今天学习两节 实现自己既定的目标,必须能耐得住寂寞单干. PS下载 给大家分享一个2019ps教程,提取码:ywnl 或扫描二维码 迅捷思维导图:使用" Enter  ...

  10. Maven使用之packaging类型

    项目的打包类型:pom.jar.war 项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件中维护了各模块之间的依赖和继承关系.项目模块化可以将通用的部分抽离出来,方便重 ...