RESTful Web请求和用户活动跟踪网站

Ami*_*thi 8 rest http stateless

几天前有人问我这个问题我没有答案:

因为HTTP是无状态协议.当我们打开www.google.com时,它可以被称为REST呼叫吗?

我的想法:

当我们在google.com上进行搜索时,所有信息都会通过Cookie和网址参数传递.它看起来像一个无国籍的请求.但搜索结果并不独立于用户的过去请求.搜索结果特定于用户兴趣和行为.现在,它看起来不像无状态请求.

我知道这是一个老问题,我已经阅读了许多SO答案,例如为什么HTTP是无状态协议?但我仍然无法理解在谷歌或亚马逊(基于过去购买的推荐)或任何其他基于用户活动的推荐网站上跟踪用户活动时会发生什么.

它是RESTful还是RESTless?

如果我想创建一个Web应用程序,我在其中使用REST架构并仍提供特定于用户的响应,该怎么办?

Ste*_* E. 7

HTTP是无状态的,但Google应用层不是.特定Cookie及其含义是应用层的一部分.

考虑与TCP/IP相同.IP是无状态协议,但TCP不是.嵌入在IP数据包中的TCP状态的存在并不意味着IP协议本身具有状态.

那么这会使它成为一个REST调用吗?没有.

虽然HTTP是无状态的,但我怀疑www.google.com在请求禁用cookie时,每个请求的结果都是相同的,使其几乎无状态(Google仍可能跟踪IP以限制请求频率).

但是应用层不是无状态的.REST的原则之一是系统不会在请求之间保留有关客户端的状态数据,以便修改响应.就Google而言,显然没有发生这种情况.