资讯专栏INFORMATION COLUMN

cookie&session&localStorage

BLUE / 1704人阅读

摘要:浏览器在加载页面时发现响应头部有字段,就把这个种到浏览器指定域名下。当下次刷新页面时,发送的请求会带上这条,服务端在接收到后根据这个来识别用户。不参与网络传输。

写之前转载两篇写的很棒的文章先看看:Session和Cookie
Session和Cookie

一:cookie 1、定义:

cookie是存储在浏览器上的一小段数据,用来记录某些当页面关闭或者刷新后仍然需要记录的信息

2、大小:

一般浏览器存储cookie 最大容量为4k

3、cookie的特征:

每次网络请求 Request headers 中都会带上cookie。所以如果 cookie 太多太大对传输效率会有影响。

4、查看cookie的路径

通过打开网页,点击检查,找到application,找到storage,就找到了cookie!

5、cookie的来源

在解析cookie之前,我们先做一个小实验,找到cookie后点击右键清除cookie,

但当我重新刷新一遍网页,cookie又出现了,why?

来源:

我们点击network-name/html-header,会发现我们请收请求的响应体里面有一个setcookie的东西,它可以把cookie种植到浏览器。
当浏览器发送的请求没有cookie时,服务器会把响应头里面放入setcookie,浏览器接受setcookie之后,会把内容种植到浏览器的cookie内部,之后向服务器发送的请求就都会带cookie了。

5、主要参数:

name

value 字符串

domain作用域

expires/max-age 有效期

secure是否在http里面有效(当 secure 值为 true 时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效)

httponly是否允许通过js修改cookie,为true不允许

6、作用:

cookie可以看一下方方老师写的这篇博客简述 Cookie 是什么

记录用户信息,cookie有个地方放用户名

记录历史信息

二、session 1、定义:

session是一种让服务器能识别某个用户的「机制」,session 在实现的过程中需要使用cookie

2、使用:

用户在输入用户名密码提交给服务端,服务端验证通过后会创建一个session用于记录用户的相关信息

创建session后,会把关联的session_id 通过setCookie 添加到http响应头部中。

浏览器在加载页面时发现响应头部有 set-cookie字段,就把这个cookie 种到浏览器指定域名下。

当下次刷新页面时,发送的请求会带上这条cookie, 服务端在接收到后根据这个session_id来识别用户。

3、 session 可保存在服务器内存中,也可保存在数据库中,只是id在cookie中

三:localStorage 1、定义:

localStorage HTML5本地存储web storage特性的API之一,用于将大量数据(最大5M)保存在浏览器中,保存后数据永远存在不会失效过期,除非用 js手动清除。
不参与网络传输。
一般用于性能优化,可以保存图片、js、css、html 模板、大量数据。

2、js手动修改

注意value里面存的是字符串,如果写入对象,就会转换成字符串[objectobject]

所以要用JSON.stringify转成字符串再传

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99525.html

相关文章

  • Cookie&SessionLocalStorage&SessionStorage

    摘要:那要是被删了呢那没办法了,只能重新登陆,意味着重新提交重新分配随机数。它是一个哈希,作用就是字面意思,本地存储,只不过这里的本地指的是浏览器。 标签可以保留回车和空格等你怎么写它就怎么展示的内容 cookie cookie可以看作是一种设置,允许浏览器在电脑本地硬盘的某一个隐蔽的地方开发一块存储空间,用来存放某些特定的内容。 如果在服务器端设置了允许使用cookie,那么,之后浏览器每...

    twohappy 评论0 收藏0
  • 关于ahooks封装cookie localStorage sessionStorage方法

      之所以讲这篇文章主要是为了加深对 React hooks 的理解。  因此,先要学习如何抽象自定义 hooks。构建属于自己的 React hooks 工具库。  且培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。  现在看下ahooks 是怎么封装 cookie/localStorage/sessionStorage 的。  cookie  ahooks 封装了 useCookie...

    3403771864 评论0 收藏0
  • python+pytest接口自动化之session对话维持的完成

      在app测试的过程当中,经常遇到有一些插口必须在登录状态下才可以要求,文中具体阐述了python+pytest接口自动化之session对话维持的完成,有兴趣的话可以认识一下  序言  在app测试的过程当中,经常遇到有一些插口必须在登录状态下才可以要求,不然会提醒请登录,那么如何处理呢?我们通过Cookie绕开登录,其实这也是维持登录状态的方式之一。那今天小编想讲根据session开展对话维...

    89542767 评论0 收藏0
  • html&&css

    摘要:标准模式的排版和运作模式都是以该浏览器支持的最高标准运行。这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距。控制表单控件的禁用状态。首先,巧妙的使用这一标记,将游览器从所有情况中分离出来。 1.Doctype作用?标准模式与兼容模式各有什么区别 声明位于位于HTML文档中的第一行,处于 标签之前。告知浏览器的解析器,用什么文档标准解析这个文档。DOCTYPE不存在...

    gggggggbong 评论0 收藏0
  • html&&css

    摘要:标准模式的排版和运作模式都是以该浏览器支持的最高标准运行。这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距。控制表单控件的禁用状态。首先,巧妙的使用这一标记,将游览器从所有情况中分离出来。 1.Doctype作用?标准模式与兼容模式各有什么区别 声明位于位于HTML文档中的第一行,处于 标签之前。告知浏览器的解析器,用什么文档标准解析这个文档。DOCTYPE不存在...

    eccozhou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<