在前两天的开发时,遇到一个问题,需要将一个网页在预加载时,优先出一个弹出框,但是再次加载时不希望它出现,在经过一段时间的搜索和尝试之后,发现了大多使用的两种方式:生成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. flask项目统一捕获异常并自定义异常信息

    背景:      在日常编写了一些flask项目,主要用于测试方面的mock场景,但迭代到后期发现有时候会抛出各种乱七八糟的异常或者直接500且没有任何异常信息,这种情况一般都是某个代码块没有用try ...

  2. java之生产者和消费者问题

    package testThread; public class Test3 { public static void main(String[] args) { Clerk c = new Cler ...

  3. React: 研究Flux设计模式

    一.简介 一般来说,State管理在React中是一种最常用的实现机制,使用这种state管理系统基本可以开发各种需求的应用程序.然而,随着应用程序规模的不断扩张,原有的这种State管理系统就会暴露 ...

  4. 【STM32-V5】STM32F407开发板开源, 丰富软件资源, 强劲硬件配置, 配套500实例, 10套手册带视频教程2019-12-12

    淘宝购买地址:购买地址链接 从2013年5月份发布至今,开发板硬件更新过6个版本,软件资料更新过85次.当前标准库最新版本V8.8,HAL库最新版本V1.1 安富莱微信公共平台,欢迎大家关注(打造高质 ...

  5. Jmeter工具使用初体验

    一.Jmeter组成部分 一个完整的脚本必须包含以下三项,他们都在测试计划的子选项中,我们直接在测试计划上右键选择即可 线程组 取样器 监视器 二.脚本编写 1.创建线程组 2.添加取样器 我们这里添 ...

  6. ASP.NET Core gRPC 入门全家桶

    一. 说明 本全家桶现在只包含了入门级别的资料,实战资料更新中. 二.官方文档 gRPC in Asp.Net Core :官方文档 gRPC 官网:点我跳转 三.入门全家桶 正片: ASP.NET ...

  7. Android 获取当前IP地址

    首先设置用户权限 <uses-permission android:name="android.permission.INTERNET"></uses-permi ...

  8. CSS入门(css简介与样式汇总、CSS的使用方式和特征、CSS基础选择器和复杂选择器、边框阴影)

    一.CSS的作用 1.以统一的方式实现样式的定义 2.提高页面样式的可重用性和可维护性 3.实现了内容(HTML)和表示(CSS)的分离 HTML和CSS之间有什么关系? HTML:构建网页的结构 C ...

  9. VC遍历访问目录下的文件

    访问目录文件夹下的文件是经常需要的操作,C/C++和win32接口都没有提供直接调用的函数.在这里总结了几个经常用到的函数,通过MFC的CFileFind函数递归遍历实现,包括以下几个功能函数: 查找 ...

  10. HTTP与FILE协议的区别

    File协议 file协议(本地文件传输协议)主要是用来访问本地计算机的文件,一般用Windows的资源管理器直接打开进行读取一个HTML文件时,默认会使用file协议 基本格式是: file:/// ...