2010-08-24 56 views
5

我做了很多的PHP和JavaScript,但我认为这是相对语言不可知的问题。是否有何时使用每个任何最佳实践:何时使用URL/session/cookie变量?

  • URL变量
  • Session变量
  • 饼干

我明白的内在局限性是什么他们中的一些不能这样做,但似乎它们的使用有时也可能重叠,而那些实例是我真正问到的。


编辑 只是为了澄清:我很熟悉这些方法被存贮在客户端/服务器可以访问的技术性问题,以及。我正在寻找的是一些更高级别的东西,比如“临时用户设置应该存在于cookies中,数据状态信息应该存在于服务器上等等......”

谢谢!

回答

6

一般:

  1. 使用URL(GET)发送简单的请求参数的服务器参数,例如。搜索查询或产品列表中的页码。

  2. 使用会话变量,如名称所示,用于存储与特定用户会话相关的临时数据,例如,登录用户的ID或非持久购物车。

  3. 尽可能避免使用cookie。谨慎使用它们来存储与特定计算机/用户配置文件相关的设置,例如。诸如“在此计算机上记住我的用户ID”的设置。

+0

谢谢卡萨布兰卡! – loneboat 2010-08-24 18:40:36

6
  1. 会话存储在服务器上,这意味着客户端无法访问您存储的关于它们的信息。会话数据存储在您的服务器上,不需要每页都完整地传输;客户只需发送一个ID并从服务器加载数据。

  2. 另一方面,Cookie存储在客户端。它们可以长时间持久使用,并且可以让您在拥有一组Web服务器时更加顺畅地工作。然而,与会话不同,存储在Cookie中的数据会随每个页面请求一起完整传输。如果您需要更长时间的登录会话,则应使用cookie。

  3. URL变量(GET)是开放的,可以被用户看到。它们也很有用,因为它允许用户为页面添加书签并共享链接。

+0

谢谢,shamittomar。我并没有将其标记为已接受(我的错,请参阅上面的说明),但仍然有效,因为您目前的声望是666.:-o – loneboat 2010-08-24 18:39:15

0

当cookie被禁用时,PHP将会话ID直接嵌入到URL中。然后,会话ID变成可通过HTTP GET变量访问的值。