深入理解Web开发中的Cookies与Sessions
1. 重定向状态设置
在Web开发里,默认的重定向都是临时的,仅影响当前请求。要是你想进行永久重定向,可以在响应头里设置状态:
headers["Status"] = "301 Moved Permanently"
redirect_to("http://my.new.home")
要注意,重定向方法和渲染方法一样,每个请求只能执行一次。
2. Cookies的运用
Cookies能让Web应用从浏览器会话中获取类似哈希的功能。由于HTTP协议是无状态的,Cookies为解决这个局限提供了办法,让Web应用在请求之间能维持数据。
在Rails中,控制器的 cookies 属性是个类似哈希的对象,它封装了Cookie协议。当收到请求时, cookies 对象会初始化为浏览器发送的Cookie名称和值。应用随时都能往 cookies 对象里添加新的键值对,这些键值对会在请求处理完成后发送给浏览器,后续请求就能使用这些新值。
下面是一个简单的Rails控制器示例,它会在用户浏览器里存储一个Cookie,然后重定向到另一个动作:
class CookiesController < ApplicationController
def action_one
cookies[:the_time] =
超级会员免费看
订阅专栏 解锁全文
59

被折叠的 条评论
为什么被折叠?



