【发布时间】:2011-11-19 10:32:55
【问题描述】:
我支持整个无 cookie 域/CDN 的事情,并且我了解如何将 cookie 发送到 www.yourdomain.com,同时设置一个单独的域(如 cdn.yourdomain.com)以防止不必要的 cookie发送有助于提高性能。
我很好奇的是,使用 PHP 的本机会话是否会对性能产生负面影响,如果是,会如何?我知道会话密钥在一个很小的 cookie 中被跟踪,所以这看起来很好。
系统提示我问这个问题,因为过去我编写了我的网络应用程序,并将大量用户的活动数据、偏好和身份验证信息存储在 $_SESSION 变量中。然而,我注意到一些流行的网络应用程序,比如 Wordpress,根本不使用$_SESSION。但是会话易于使用并且看起来相当安全,特别是如果您将其与跟踪用户代理/ ip 更改结合起来以防止会话劫持。那么为什么 Wordpress 和其他网络应用程序不使用 php 的会话呢?我也应该停止使用会话吗?
另外,我还要澄清一下,我确实意识到服务器必须加载会话数据来处理页面请求,但这不是我在这里要问的。我的问题是关于它是否/如何影响网络性能,特别是关于发送/接收的标头。例如,使用会话是否会阻止网站上的页面或图像从浏览器的缓存中获取? PHPSESID cookie 是唯一发送的附加标头吗?诸如此类。
【问题讨论】:
-
我没有使用 Wordpress 的经验。出于我的好奇心,有人可以验证它确实不使用会话,即使是维护登录这样的基本目的?我可以看到使用 db 存储代替扩展会话 var 存储。
-
Wordpress 不使用会话。我知道为什么,这是有历史原因的。但我很好奇哪些其他流行的 Web 应用程序不是很好?你有更多的例子吗?
-
Michael - Worpress 绝对不使用会话,除非您使用已启动会话的插件。 @hakre - 你能分享历史原因吗?我主要使用 WP,但 Expression Engine 和 Code Ignitor 也不使用 PHP 的会话。
-
唯一似乎有意义的例子是,如果会话 cookie 或基于 URL 的 SESSIONID 中的更改会使浏览器缓存/页面或文件缓存标头无效并触发下载。
标签: php performance session cookies dns