2

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

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

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

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

如果你能给我一张简单的图片来告诉我关于这个的全部基本内容。我会喜欢它并且更加感激。

[更新]

苏!愚蠢的我 (:mad:) 这家伙还声称没有使用 cookie 来存储用户名,但这是不正确的,因为

个性化

Cookies 可用于记住访问过网站的用户的信息,以便将来显示相关内容。例如,网络服务器可能会发送一个包含上次用于登录网站的用户名的 cookie,以便将来访问时填写该用户名。

顺便说一句,他是我国的另一个中心(tonguey centraler!)。

4

4 回答 4

1

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

  • 您想让用户回到您的商店并访问他们的购物车吗?然后将其保存在后端。
  • 您想在会话中使购物车内容过期吗?- 然后将其与会话数据或设置过期的cookie一起保存。ASP.NET 会话状态概述
于 2012-07-10T14:22:07.837 回答
0

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

于 2012-07-10T14:15:57.403 回答
0

我推断有些网站可以通过其内部 IP 来区分两者。

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


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

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

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

于 2012-07-10T14:18:29.897 回答
0

Microsoft Commerce Server 将会话 GUID 存储在 cookie 中。该指南与用户购物篮相关联,其中包含所选产品、账单/运输信息、信用检查历史记录等信息。

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

现代浏览器允许更大的存储空间(某些高达 2 GB),因此本地缓存可以帮助加快内容交付,但该信息不再可供服务器用于挖掘目的。

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

于 2012-07-10T14:11:20.390 回答