关于http协议session和cookie的理解

http是无状态协议,不能够记录访问者的身份,

为了解决这一问题服务器端设置了session 浏览器端设置了cookie 这种机制

当浏览器第一次访问服务器的时候,服务器会判断是否有cookie的存在,若存在会读取cookie中的 PHPSESSID 来读取用户的一些状态,

cookie的内容可以分别设置不同的生命周期,

如果只设置了用户的账号,密码,关闭浏览器再访问服务器的时候,服务器能得到用户的账号和密码,但是不能得到sessionID 会重新创建session

 所以用户实际是在服务器上又一次的登录,用户可以无感知,

当设置了PHPSESSID 的生命周期,用户再访问服务器时可以通过PHPSESSID直接找到上次登录的session内容,不用登录,

服务器端的session不会主动删除,所以要设置session过期时间,不然session会一直存在消耗服务器资源

登录窗口的记住密码和自动登录功能可以采用cookie来实现

记住密码  把 账号和密码存入cookie 下次访问的时候,判断是否有cookie的存在,有就把,账号密码写入HTML的表单内 或者使用js来实现这功能

自动登录  cookie中存入账号和密码的同时在存入一个自动登录的识别,当用户下次访问的时候,自动判断这个字段是否存在,若存在使用cookie中的账号和密码,自动登录,实现自动登录

posted @ 2017-05-26 10:40  枫夜雪  阅读(160)  评论(0编辑  收藏  举报