34、深入理解Web开发中的Cookies与Sessions

深入理解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] =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值