写之前转载两篇写的很棒的文章先看看: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转成字符串再传
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。