在G-WAN的Ruby上实现会话的正确方法是什么,这是我的想法:
- 如果不存在,发送一个随机cookie,或者GUID cookie可以吗?但是如何在G-WAN的Ruby上读写Cookie呢?文档仅显示C上的示例
- 如果/tmp/rubysessid-#{cookie_GUID}上不存在文件,请像PHP一样创建一个文件
- 根据每个请求读取内容,并在更改时重写
但问题是:同一时间来自同一来源的两个请求会同时重写cookie文件内容,从而可能导致数据损坏或不一致
有没有更好的方法在G-WAN的Ruby上实现会话?
Web框架使用数据库或键值存储(有时称为字典)来跟踪会话。
我不是Ruby开发人员,但我想这样的功能是可用的。
G-WAN允许您访问Ruby中的HTTP请求头(就像15种编程语言中的任何其他语言一样),因此访问HTTP cookie确实没有问题。
"文档只显示了C"中的示例,因为G-WAN是用C和C脚本编写的。
在那里,用为C/C++等制作的G-WAN API来填补空白是有意义的
Ruby和其他经常用于Web开发的脚本语言中并不存在这种差距,因为人们有很多选择来解决这些问题。
在Ruby和其他的例子中,G-WAN并不有用,因为它的API(而是使用CGI),而是因为它的速度和易用性(以及其他零配置)。