停止机架会话为所有页面设置cookie

时间:2012-11-22 17:17:05

标签: ruby session cookies sinatra rack

在我的Sinatra应用程序中,我正在使用机架会话

use Rack::Session::Cookie, :secret => ENV['SECRET']

似乎是为每个页面加载设置一个cookie,即使我没有在会话中设置任何内容。有没有办法将其更改为仅在设置会话时设置cookie?

1 个答案:

答案 0 :(得分:2)

Rack::Session::Cookie将会话保持为已编组的Ruby Hash

基本上它正在整理你的会话并将其保存到cookie中。

它并不关心你的会话是空的Hash
无论如何,它将被整理并持久存储到cookie中。

您真的需要将会话保持在Cookie中吗?

或许use Rack::Session::Pool将会话保留在内存池中? 然后它只会设置一次cookie。