Web是通过 HTTP协议来实现的,而HTTP协议是无状态协议,所以同一个用户在请求相同的页面两次的时候,HTTP协议不会认为这两次请求都来自于同一个用户,会把它们当做是两次请求的独立(即会将两次请求隔离开),会认为是两个不同的用户请求的。如果用户执行了登录操作,再次请求页面,HTTP协议不会认为该用户之前登录过,因为它无法保持该用户之前的登录状态,所以无法在不同页面之间进行用户的跟踪和状态的保持
。
cookie的工作原理:是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或硬盘当中的技术。【可以把它当做是存储在浏览器中的一个文件,这个文件中包含我们客户端的一些片段的信息(如:登录或存储的一些其他信息等),它就是一个文件,这个文件是存储在客户端的!!!】
cookie的优点:因为cookie是将信息存储在客户端,因此不会占用服务器的资源(即不会浪费服务器的资源),效率会高一些。cookie的缺点:也是因为其存储在客户端,由于我们的信息全部保存在客户端计算机中,所以不建议将一些敏感重要的数据保存到cookie当中,而且用户有权限禁止cookie的使用。如果我们在浏览器中,将cookie禁止掉,一旦用户禁止cookie,我们没有办法去保存用户的信息。
将使用者相同的资料存储在服务器中
session的优点:信息非常的安全,都是存储在服务器端的,客户端不可能拿到 session 的数据。session的缺点:会占用服务器的资源(session文件越来越多,可能某一天会占满磁盘),并且它的分布式也是一个问题(如:将来我们可能会有多台 web服务器,但是 session 可能是存储在其中一台,而另外一台是没有办法去使用的。这种情况下,我们可以使用 redis,不管在哪台服务器,都可以去调用 redis 的服务器,就可以达到信息共享)。
推荐:《PHP视频教程》
以上是总结 cookie 和 session 的优缺点的详细内容。更多信息请关注PHP中文网其他相关文章!