在阅读了关于REST (Fielding's thesis和其他)的介绍性文章后,我对无状态的看法是服务器端不应该有会话对象。然而,我看到Flask (可能还有其他采用不同技术的REST框架,我不知道它们)为我们提供了一个会话对象,用于在这个example中存储服务器上的信息
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
...
当然,我误解了REST的无状态性。那么,它到底是什么呢?
发布于 2012-11-03 15:19:03
不,你很明白。RESTful服务中不应该有任何“会话”。始终检查您是否可以通过邮件发送任何URI,将其保存在书签中,并在链接中引用它。这就是为什么REST对网络如此重要:没有RESTful资源=没有更多的链接。只有在访问资源表示时才应该执行身份验证。
您可以拥有一个可以由REST方法修改的用户对象(例如购物车),而不是会话。这不同于会话,因为,例如,您可以授权其他人查看您的购物车的服务。
https://stackoverflow.com/questions/13206870
复制相似问题