标签:存储 除了 两种 redis 服务器端 存在 http 写入 不同的
http协议是无状态的协议。每次访问页面的http协议都是独立的,正是因为http协议是无状态的,所以导致
访问一个页面后再去访问另一个页面的时候,一些数据会消失,比如:用户的登录信息就会消失。那么怎么才能使
用户的信息不消失呢?就是使用会话控制。
当然除了会话控制,有没有什么方法让变量在不同的页面之中都有效。答:有
(1)通过get或post方式从一个页面中传到另一个页面中(只适合传输数据量小的,数据量变大就不合适了)
(2)可以把变量先存储到数据库中,或者使用file_put_content()写入文件中,然后在其他页面使用file_get_content()读取(但是
缺点是所有用户共用文件中的数据,如果想要跟踪用户的登录信息,这种做法是非常不可取的)
(3)cookie技术,是把用户的信息存储到用户自己的电脑里的一个文件中(方法2中是把数据写在服务器的文件中),
这样该用户在访问一个网站不同的页面的时候,他的登录信息就可以实现跟踪。 setCookie()设置cookie,,,注意:setCookie
之前不能有任何的输出(像echo,print_r等等)。否则会报错。
2.session:上面说了cookie是把数据存在客户端的文件,而程序是不能操作客户端的数据的并且用户是可以阻止cookie的(不用cookie存储 数据),
这个时候session就出现了,session是把数据存在服务器端的文件中(数据库、redis都行)。但是用户有很多,比如张三、李四,怎么找到张三的信息
呢?就是session_id,在使用session的时候,每个用户会得到一个唯一的session_id,以后每次张三登录的时候,就可以凭借session_id
去调用存在session中数据信息。 session_id的存储有两种: 一种是基于cookie,就是存到cookie中;第二种,通过URL传输session_id。
标签:存储 除了 两种 redis 服务器端 存在 http 写入 不同的
原文地址:https://www.cnblogs.com/bneglect/p/10261063.html