Cookie&Session

辛辛苦苦输完了用户名密码登陆了,然后再刷新之后发现又需要再次登陆,这大概是会让人崩溃的,所以如何让服务器知道你就是你呢,这就需要用到cookie了。
在你登陆之后(这边拿百度来举栗子),百度通过 Set-Cookie头 发给你一张通行证(通常是一串字符串),然后你在访问百度的时候,在请求中就会和百度说我有通行证(访问相同域名的网页时需要带上那一串字符串(注意访问同一一级域名下的二级域名时是不行 ,需要设置Cookie的domain参数)),百度就会扔给你一个登陆成功的界面。
Cookie的有效期由maxAge决定,默认值-1,为负数时表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效(此时cookie为临时性Cookie,保存在浏览器内存中,不会被写到Cookie文件中),为0时表示删除该Cookie。
为了方便起见,最直接的是把用户名密码原文都存到Cookie中,下次访问时只需要拿出Cookie与数据库用户名密码对比就可以了。但这是很危险的。这时可以使用基于Cookie的Session。
Session就是在服务器端使用一块内存来存本来要发给你的字符串(用一个哈希表存下来),然后key用一个随机数,对应的value就是你的用户名密码(也就是那串字符串),通过之前的方法把这个随机数作为你的通行证,在访问的时候通过随机数在哈希表中找到你的用户名密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值