Http 我什么时候应该使用会话变量而不是cookie?
会话变量和cookie似乎与我非常相似。我理解技术上的差异,但您如何决定何时使用其中一个与另一个?Cookies可以比单个会话持续更长时间。但是,用户也可能会删除Cookie,或者您的用户的浏览器不接受Cookie(在这种情况下,只有服务器端会话可以工作)。大多数情况下,会话状态是使用Cookie持久化的。所以这并不是一个或另一个的问题,而是如何将它们结合起来Http 我什么时候应该使用会话变量而不是cookie?,http,cookies,session-variables,Http,Cookies,Session Variables,会话变量和cookie似乎与我非常相似。我理解技术上的差异,但您如何决定何时使用其中一个与另一个?Cookies可以比单个会话持续更长时间。但是,用户也可能会删除Cookie,或者您的用户的浏览器不接受Cookie(在这种情况下,只有服务器端会话可以工作)。大多数情况下,会话状态是使用Cookie持久化的。所以这并不是一个或另一个的问题,而是如何将它们结合起来 使用框架的会话基础设施可能会使事情变得更容易,但使用cookie手动跟踪状态通常会提供更细粒度的控制。正确的解决方案取决于您试图完成的任
使用框架的会话基础设施可能会使事情变得更容易,但使用cookie手动跟踪状态通常会提供更细粒度的控制。正确的解决方案取决于您试图完成的任务。会话存储在服务器上。如果您在cookie中存储了某些内容,那么用户的浏览器会在每个请求中发送该信息,从用户的角度来看,这可能会降低您的站点速度。我尽量避免在可能的情况下使用cookies。cookies会在每次请求时发送到服务器,因此如果您计划存储相当数量的数据,请将其存储在会话中 否则,如果您正在存储少量数据,cookie就可以了 任何敏感数据都应该存储在会话中,因为cookie不是100%安全的。Cookie的一个优点是,您可以在通常存储会话数据的服务器上节省内存。
- 会话存储在服务器上,这意味着客户端无法访问您存储的有关会话的信息。存储在服务器上的会话数据不需要随每页一起完整传输;客户端只需要发送一个ID,然后从服务器加载数据
- 另一方面,cookies存储在客户机上。它们可以经久耐用,并且当您拥有一个web服务器集群时,可以让您更顺利地工作。但是,与会话不同,存储在cookie中的数据在每次页面请求时都会被完整传输
- 避免将数据存储在cookie中
- 它可以被最终用户看到、阅读和操纵,或者被那些有恶意意图的人截获。除了“会话id”,您不能信任Cookie中的任何数据
- 它会增加您的带宽,如果您为每个用户的每页请求添加1k的数据,那么您的带宽可能会增加10-15%。从$$的角度来看,这可能并不昂贵,但从性能的角度来看,这是可能的。它会有效地将每台服务器上的带宽减少10-15%,也就是说,它可能会导致您需要更多的服务器
- 会话数据中可以存储的内容取决于数据量和用户数
*无用户数
必须小于服务器上可用的可用内存会话数据的大小
- 始终使用会话
- 仅当您需要更长的登录会话时才使用cookie-然后添加具有加密用户ID的cookie
另外请注意,PHP会话文件默认保存到磁盘,而Cookie仅保存在客户端。会话存储在服务器端。如果访问者在cookie中存储了某些内容,浏览器将发送每个请求的用户信息 这往往会消耗大量服务器的计算机时间,降低用户体验。一些浏览器也不支持Cookie,使会话比Cookie更具优势。。。我强烈建议参加会议
这可能有助于:(php.net)您的明确指南 注意- cookie存储在用户的浏览器上,而会话存储在主机服务器上 何时使用
PHP会话的缺点之一是会话处理的工作方式。具体来说,一次只能有一个进程/请求打开一个会话进行写入。在
session_start()
会话文件已锁定。如果更多的过程
session_write_close()