什么是Cookie
Cookie是由服务器发给客户端的特殊文本信息,这些信息存放在客户端,客户端每次向服务器发送请求都会带上这些特殊的信息,用于服务器记录客户端的状态。
为什么需要cookie
因为HTTP是无状态的。
服务器无法知道两个请求是否来自同一个浏览器,即服务器不知道用户上一次做了什么,每次请求都是完全相互独立,阻碍了交互式web的发展,例如用户登录,论坛交互。
采用隐藏域的方式交互弊端太多
把用户上一次操作记录放在form表单的input中,这样请求时将表单提交不就知道上一次用户的操作,每次都得创建隐藏域而且得赋值太麻烦,而且容易出错
隐藏域写法:<input type="hidden" name="field_name" value="value">
Cookie的场景
个性化设置,如用户自定义主题
跟踪分析用户行为等
设置登录失效时间
什么是会话(session)
Session 是一种在服务端记录客户状态的对象。
客户端浏览器在第一次访问服务器的时候,服务器便会为这个浏览器生成一个Session对象,记录客户端状态信息,客户端浏览器再次访问时,就可以在session中获取客户状态信息,
最后,Session的Id会以cookie的形式发送给客户端浏览器
Cookie和Session的关系
Cookie是客户端的,可以被随意修改
Session是服务端的,安全性比较高。
目的一致,都是为了实现客户端与服务端交互。