cookie
浏览器用来保存用户信息的文件
由于我们浏览网页使用的HTTP协议是无状态的协议,浏览网页关闭之后,下次打开网页又要重新连接,服务器无法连接上一次的数据,服务端不认识客户端;
cookie可以记录我们之前的信息,在打开网页和服务器建立连接的时候,cookie会把记录的信息发送给服务器,这样服务器就可以从cookie发送的信息识别我们的身份,就能让页面提供专门属于自己的内容了。
执行原理:
当客户端访问服务器的时候(服务运用了cookie),则服务器会生成一份cookie传输给客户端,客户端会自动把cookie保存起来;以后客户端每次访问服务器,都会自动的携带着这份cookie。
例如:
我们浏览网页时登录页面的记住密码自动登录选项,差不多是这个原理,cookie会保存一份数据信息。
特点,
cookie存储数据的数量是有限制的,大小大约不能过于4K。
cookie存储在用户浏览器里也不安全,可以被直接查看。
cookie可以长期保存在客户端。
cookie保存string类型。
优点,简单好用易懂占内存小。
----------------------------------------------------------------------------------------------------------------------------
Session
session是一种特殊的cookie。
cookie是保存在客户端的,而session是保存在服务端。
session保存在服务器端比较安全,但是可能需要记录千百万用户的信息,对服务器的存储压力很大,所以我们应该有选择的合理使用cookie和session。
原理:
当客户端第一次请求服务器的时候,服务器生成一份session保存在服务端,将该数据(session)的id以cookie的形式传递给客户端;以后的每次请求,浏览器都会自动的携带cookie来访问服务器(session数据id)。
特点:
因为数据信息是存储在服务端的,所以比较安全,可以用来保存重要的用户信息。
Session保存object类型。
Session随会话的结束将其储存的数据销毁。
但是,对服务器存储压力较大。
----------------------------------------------------------------------------------------------------------------------------
特点和区别总结:
- Cookie放在浏览器上,Session放在服务器上。
- cookie保存string类型,Session保存object类型。
- cookie可以长期保存在客户端,session随会话的结束将其储存的数据销毁。
- cookie不是很安全,别人可以通过分析本地的cookie进行cookie欺骗,考虑安全用session。
- session会在一定时间内保存在服务器上,当访问多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
- 因为单个cookie保存的数据不能超过4K,还是要看情况合理使用cookie和session。