2021秋招,社招面试题之Cookie、sessionStorage、localStorage 的区别

news/2024/5/18 13:43:04 标签: cookie, session

Cookie、sessionStorage、localStorage 的区别

    • 共同点:
    • 不同点:
    • Cookie:
    • sessionStorage:
    • localStorage:

在这里插入图片描述

共同点:

都是保存在浏览器端,并且是同源的

不同点:

在这里插入图片描述

Cookie:

Cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
是由 Web 服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,是用户获取、交流、传递信息的主要场所之一,无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
cookie 只在设置的cookie 过期时间之前一直有效,即使窗口或浏览器关闭。
sessionStorage 和localStorage 不会自动把数据发给服务器,仅在本地保存。

例如:将用户id 存储于一个cookie 内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。

cookie 还可以设置过期时间,当超过时间期限后,cookie 就会自动消失。

因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。

跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie 后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一

sessionStorage_34">sessionStorage:

sessionStorage存储的数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

localStorage:

主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。
始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
localStorage 在所有同源窗口中都是共享的;


http://www.niftyadmin.cn/n/945163.html

相关文章

求两数之和~javascript解法

推荐算法:算法之爬楼梯~JavaScript 如下题: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&…

算法之爬楼梯~JavaScript

如下题&#xff1a; 解法&#xff1a; /** * param {number} n * return {number} */ var climbStairs function(n) { let p0 ; q0,r1; for(let i1; i<n; i){ pq; qr; rpq;} return r; }; 作者&#xff1a;9qPagHx2sD 链接&#xff…

字节跳动出现24次的算法题之 数组中重复的数字 JavaScript解法

剑指 Offer 之 数组中重复的数字 JavaScript解法 如下题&#xff1a; 解法&#xff1a; /*** param {number[]} nums* return {number}*/ var findRepeatNumber function(nums) {let map new Map(); /**遍历nums*/for(let i of nums){ /**遍历如果数字存在于数组中就返回…

字节跳动出现5次的算法题之 求 1+2+...+n ?(JavaScript解法)

字节跳动出现24次的算法题之 数组中重复的数字 JavaScript解法 字节跳动出现5次的算法题之 求 12...n JavaScript解法 如下题&#xff1a; 题解&#xff1a; /*** param {number} n* return {number}*/ var sumNums function(n) {return n && n sumNums(n-1);}; 推荐…

本人吐血整理的算法与数据结构入门级介绍

1.算法与数据结构是一门必修课。 要想成为一名优秀的程序员&#xff0c;学好「算法与数据机构」对于 编写性能优良、可读性强 的工程代码和理解编程语言库函数的源代码都是很有帮助的。 2.算法是解决问题的方法 学习算法的目的之一是要 「高效地」解决问题。也是解决某些复杂…

零基础如何快速掌握算法与数据结构

1.多练习&#xff0c;多思考总结&#xff0c;这个应该懂得都懂。 2.带着问题去思考&#xff0c;做到理论与实践相结合&#xff0c;二者缺一不可。 3.遇到难的问题&#xff0c;不需要死磕到底&#xff0c;有些知识的理解需要时间的沉淀。 4.由简单到复杂。 5.最好分类刷题&a…

go变量的定义(源码)

复制以下代码到编译器即可运行 package mainimport "fmt" //定义变量 func variableZeroValue() {//var 变量名变量类型var a intvar s stringfmt.Printf("%d %q\n",a,s) } //变量赋初值 func variableInitialValue() {var a ,b int 3,4var s string &q…

常考面试题之js预解析 附源码

1. js引擎运行js 分为两步&#xff1a; 预解析 和 代码执行 预解析&#xff1a; js引擎会把js 里面所有的 var 还有 function 提升到当前作用域的最前面 代码执行 按照代码书写的顺序从上往下执行 2. 预解析分为 变量预解析&#xff08;变量提升&#xff09; 和 函数预解析…