session和cookie的区别
Posted hetaoyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session和cookie的区别相关的知识,希望对你有一定的参考价值。
cookie:
在网站中,http的请求是无状态的,也就是说,当用户第一次连接到服务器并且登录成功后,第二次再次·连接服务器的时候,服务器并不能识别这个是第一次已经成功进行连接的用户。那么cookie的出现就是为了解决这个问题,
第一次登录成功后,服务器返回一些信息(cookie)给浏览器,然后浏览器将其保存在本地,当用户第二次尝试连接服务器的时候,就会把上次请求后存储的cookie数据自动携带给服务器,服务器通过浏览器携带的数据就能判断
当前当用户是哪一个了。但是需要了解的是,cookie存放的·数据是有限的,不同的浏览器有不同的存储大小,但是一般不会超过4kb,因此使用cookie只能存放一些小量的数据
session:
session和cookie的作用有一点类似,都是为了存储用户相关的信息,不同的是,cookie是存储在本地浏览器,而session是存储在服务器,存储在服务器的·数据会更加的安全,不容易被窃取,但是存储在服务器也存在一些弊端,那就是
会占用服务器资源,但是服务器发展至至今,存一些session的信息还是绰绰有余的
cookie和session结合在一起使用
web开发发展至至今,cookie和session的使用已经出现了一些非常成熟的方案,在如今的市场或者企业里,一般存有两种存储方式:
1.存储在服务端,通过cookie存储一个session_id,然后具体的信息则是存储在session中。如果用户已经登录,那么服务器会在cookie中保存一个session_id,下次在请求的时候,会把该session_id携带上来,服务器会根据session_id
在session库中找到用户的session数据,从而知道用户到底是谁,以及之前保存的一些状态信息,这种专业术语叫做 server side session
2.将session数据加密,然后存储在cookie中,这种专业术语叫做 client side session,flask采用的就是这种方式,但是也可以换成其他方式
以上是关于session和cookie的区别的主要内容,如果未能解决你的问题,请参考以下文章