使用Sessions实现REST API是否合适?

时间:2012-01-03 10:45:01

标签: php session rest

REST客户端通常每次都会发送一个身份验证参数,它在某种程度上像浏览器中的PHP Session Id cookie一样。但REST客户端不是浏览器,所以我在服务器端代码中为什么不采用该认证参数并使用

session_id($_GET('authentication_code'));

这样做的好方法吗?

2 个答案:

答案 0 :(得分:5)

REST代表Representation State Transfer,其中最纯粹的形式归结为6 constraints,其中一个是客户端 - 服务器通信必须是无状态的,它必须包含完成请求所需的所有信息,客户端状态不得存储在服务器上。

然而,服务器可以是有状态的,这就是为什么你可以在服务器上存储客户端的auth代码,但是客户端本身可以通过每个请求传递该代码,服务器不能使用会话来存储认证代码

答案 1 :(得分:2)

答案是否定的。 S REST用于stateless,这意味着您无法在服务器上存储任何内容。