2

Cookie和Session使用

 2 years ago
source link: https://blog.51cto.com/u_14619976/5539129
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Cookie和Session使用

原创

wx5dd4a114ae67d 2022-08-03 09:21:13 博主文章分类:计算机网络 ©著作权

文章标签 客户端 服务端 服务器 文章分类 通信技术 网络/安全 阅读数253

一.为什么需要cookie?

A、B两人都有自己的京东账号,且都在本地登录成功过(7天免密登录),此时A将自己的购物车练级发送给B,B用浏览器访问该链接是无法查看到A的购物车内容的,B可能直接进入到自己的购物车或者提示B需要重新登录跳转到了登录页面。该场景说明,服务端知道访问的客户端是谁。但是我们都知道http是无状态的,我们就需要使用cookie来标记客户端是谁并将其发送给服务端。

二.Cookie及Session

Cookie 是保存在本地的一组键值对。Cookie的工作原理:它是当客户端访问服务端后,服务端生成的并发送给客户端并保存在客户端本地的一组键值对,它是用来保存用户的信息(信息客户端自定义)。当浏览器再次访问时,浏览器就会自动带上cookie,这样服务器就能通过cookie的内容来判断服务端是谁了。

虽然cookie在一定程度上解决了”保持状态”的需求,弥补了http协议的无状态的缺陷,但是由于cookie本身最大只支持4096字节;且cookie是保存在客户端本地的,可以被拦截或截取,在安全性上并不能保证。所以,此时需要用session来协助解决最大字节问题及保存在本地的安全性问题,session将用户信息保存在服务器。

那么,如果将session保持到服务端,客户端如何通过cookie将服务端的session桥接起来?

这样就出现了cookie和session如何协助的问题?我们可以给每个客户端的cookie分配一个唯一的id,这样用户在访问时,通过cookie,服务器就知道来的人事谁。然后我们再根据不同cookie的id,在服务器上保存一段时间的用户私密资料。

总结而言:cookie弥补了http无状态的不足,让服务器知道来的人是’谁’;但是cookie以文本的形式保存在本地,自身安全性较差;所以我们就通过cookie识别不同的用户,对应的在session里保存用户私密的信息已及能超过4096字节的文本。

三.Cookie的单独使用​?

四.Cookie及Session的结合应用?

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK