需要Cookie和购物车说明

时间:2012-07-10 13:55:01

标签: c# web-services http https web

  

今天的购物篮应用程序通常存储篮子列表   服务器端数据库中的内容,而不是存储篮子   cookie本身的项目。 Web服务器通常发送cookie   包含唯一的会话标识符。 Web浏览器将发回   该会话标识符与每个后续请求和购物   篮子项目与唯一的会话标识符相关联。

你能给我一个简单的例子和​​解释我从维基上面引用的上述引用吗?我有时会感到困惑并且很难读到维基词,因为我不擅长英语而且我对网络的了解并不多。

今天我有一个小小的谈话,(我的不好,因为我不知道这一点),两台拥有内部IP地址(例如192.168.1.10和192.168.1.11)和相同浏览器的计算机将与经过身份验证的Web服务器的会话ID,因为外部访问的Web服务器只能将其中两个识别为从ISP分配的一个IP地址。这是正确的吗 ?我推断,有些网站可以通过内部IP来区分它们。

我认为cookie可以用来存储程序员想要的任何东西。这是正确的吗 ?

如果只有你能给我一个简单的图片来讲述这个的基本内容。我会喜欢它并且更加感激。

[更新

SUX!愚蠢的我(:疯了:)这家伙还声称cookie不是用来存储用户名但是这不正确

  

个性化

     

Cookie可用于记住有关用户的信息   访问了一个网站,以便在将来显示相关内容。对于   例如,Web服务器可以最后发送包含用户名的cookie   用于登录网站,以便将来填写   访问。

顺便说一下,他是我国的另一个中心(舌头中心!)。

4 个答案:

答案 0 :(得分:0)

Microsoft Commerce Server将会话GUID存储在cookie中。该guid与用户购物篮相关联,其中包含所选产品,帐单/送货信息,信用检查历史等信息。

简而言之,您可以在Cookie中存储最多4 KB的信息。这对于基本信息来说已经足够了,这就是为什么通常更容易将详细信息存储在服务器上的数据库中。这也允许数据挖掘(例如,购买此产品的顾客也浏览了这些商品),购物车放弃率等。

现代浏览器允许更大的存储空间(某些存储空间最高可达2 GB),因此本地缓存可以帮助加快内容传输速度,但是服务器不再可以使用该信息进行挖掘。

我不确定这是否能回答你的问题,或者这是否是官方的“答案”,但评论框太小了。

答案 1 :(得分:0)

分配会话ID时,服务器不考虑外部或内部IP地址。即使你在同一台计算机上有两个浏览器,它们每个都显示在服务器上,服务器会说“你的唯一ID是什么”,每个都说“我没有”。它为第一个分配“1”,为第二个分配“2”,并且由于这些唯一ID存储在cookie中,它从不考虑每台计算机来自哪个IP。

答案 2 :(得分:0)

  

我认为有些网站可以通过内部IP区分这些网站。

Web服务器只能看到外部IP地址,这对于家庭路由器后面的两台计算机通常是相同的(请参阅http://en.wikipedia.org/wiki/NAT)。但是,Web服务器也可以看到连接的端口号,每个计算机的端口号都不同;这个可以用于区分NAT路由器后面的计算机,但我不认为很多网站都使用它。


网站主要使用Cookie进行身份验证。登录后,cookie将存储跟踪当前登录会话的会话ID。大多数其他数据(例如购物车中的商品)存储在服务器上有两个原因:

  • 持久性:您不想丢失所有已保存的数据(购物车),因为您已注销/删除了Cookie。
  • 尺寸限制:Cookie的尺寸有限,无法存储所有内容。

最后,即使会话ID本身是唯一的,许多网站也会跟踪会话ID + IP地址以获得额外的安全性(这样攻击者就不能简单地复制会话ID并使用它)。

答案 3 :(得分:0)

就购物车解决方案而言,确实没有正确或错误的方式来管理产品。它归结为“你”想要对数据做什么。但是,cookie是域和浏览器独占的 - 您无法访问从其他域或不同浏览器设置的cookie。

  • 您是否想让用户回到您的商店并访问他们的购物车?然后将其保存在后端。
  • 您是否希望通过会话使推车内容到期? - 然后使用会话数据保存它或cookie设置到期日期。 (ASP.NET Session State Overview