cookie和session的关系及细节操作及总结

## cookie

cookie是存储在浏览器端的,浏览器发请求时会自动把[所有]cookie值发送到服务器!
document.cookie (多次设置,不会覆盖!)
- 赋值
+ document.cookie="字符串" // cookie只能给字符串值
- 获取:
+ document.cookie
document.cookie是原生的js操作

 

 

jquery操作cookie插件
github地址 (https://github.com/carhartl/jquery-cookie)

 

jquery.cookie.js:

// 1.读取出所有的cookie值
console.log($.cookie())

// 2.设置cookie
$.cookie('ershi','999')
console.log($.cookie())

// 3.读取指定名字的cookie
console.log($.cookie('shiba'))
读取cookie的时候也需要从服务器读取,不能页面直接打开,因为浏览器发请求时会自动把[所有]cookie值发送到服务器上,然后再由服务器返回

 


## session
session是存储在服务器端的存储在服务, 就是为了别人下次带cookie来时,我们有东西与之对比
服务器端是可以间接的设置cookie值

 

cookie和session的关系:(自己总结!!)

当浏览器第一次登陆的时候输入登录名 密码然后向服务器提交
然后在数据库里查询看有没有与用户传过来*的用户名密码相等的数据(查看这个人有没有注册过),如果没有直接返回错误,如果有会在服务器存储一个session,存储完之后,会给浏览器下发一个cookie,这个cookie是和session关联的,但是为了保证安全 cookie的值并不会就是账号和密码 而是随机的数字
比如:(asdfsdaf:asdf55as6dfasdf),然后下一次发送请求时,服务器接收到cookie之后,会与session进行对比,如果对应的上就说明登录成功了,下一次的请求的页面会继续显示登录的状态
(因为cookie是自动在浏览器与客户端发送的,这也就是为什么跳转页面的时候不用再登录了,也证明了cookie是存在于浏览器的,session是存在于本地服务器的)

 

 

 

posted on 2017-02-06 10:14  村长有点忙  阅读(108)  评论(0编辑  收藏  举报

导航