cookie和session的区别

cookie:cookie是一小段的文本信息,客户端请求服务器,如果服务器需要记录该状态,就使用response向客户端颁发一个Cookie。客户端会把Cookie保存起来。当浏览器再次请求网站时,浏览器把请求的网站连同cookie一同提交给服务器。服务器检查该cookie,以此来辩护认证状态,服务器还可以根据需求修改cookie的内容。

注意:

1)如果没有设置Cookie失效日期,它们仅保存到关闭浏览器程序为止.

2)如果将Cookie对象的Expires属性设置为Minvalue,则表示Cookie永远不会过期.

3)Cookie存储的数据量很受限制,大多数浏览器支持最大容量为4K,因此不要用来保存数据集及其他大量数据.

4)由于并非所有的浏览器都支持Cookie,并且数据信息是以明文文本的形式保存在客户端的计算机中,

因此最好不要保存敏感的,未加密的数据,否则会影响网站的安全性

session:session是一种记录客户状态的机制,不同的Cookie保存在客户端浏览器中,而session保存在服务器上。客户端浏览器访问服务器的时候,服务把客户端的信息以某种形式记录在服务器上。这就是session。客户端浏览器再次访问时只需要从该session查找该用户的状态就可以了。

每个用户访问服务器都会建立一个session,那么服务器是如何标识用户的身份,就是用户与服务器建立连接的时候,服务器会自动为其分配一个sessionId(存在cookie中)。

两者区别:

  1. 数据存储位置:cookie数据存放在客户的浏览器上,seesion数据放在服务器上。

  1. cookie不安全,别人可以从浏览器上获取cookie并进行欺骗,session相对安全一些。

  1. 服务器性能:session会在一定时间内保存在服务上,当访问增多,会比较占用你服务器性能。

  1. 数据大小:单个cookie的大小不能超过4k,很多浏览器站点限制一个站点最多保存20个cookie

  1. 信息重要程度:可以考虑将登录信息等重要信息存为session,其它信息如果需要保留,可以放在cookie中

原文地址:https://blog.csdn.net/qichangjian/article/details/88023494?

posted @   小猪不会叫  阅读(24)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示