会话技术
会话技术:是一种维护同一个浏览器与服务器之间多次请求数据状态的技术,它可以很容易地实现对用户登录的支持,记录该用户的行为,并根据授权级别和个人喜好显示相应的内容。
PHP中Cookie和Session是目前最常用的两种会话技术
- Cookie指的是一种在浏览器端存储数据并以此来跟踪和识别用户的机制
- Session指的是将信息存放在服务器端的会话技术
Cookie简介
在Web应用程序中,Cookie的功能类似与会员卡。
它是网站为了辨别用户身份而存储在用户本地终端上的数据。
当用户通过浏览器访问Web服务器时,服务器会给客户发送一些信息,这些信息都保存在Cookie中。
当该浏览器再次访问服务器时,会在请求头中同时将Cookie发送给服务器,这样,服务器就可以对浏览器做出正确的响应。
缺点
- Cookie被附加在HTTP消息中,无形中增加了数据流量。
- Cookie在HTTP消息中是明文传输的,所以安全性不高,容易被窃取。
- Cookie存储于浏览器,可以被篡改,服务器接收后必须先验证数据的合法性。
- 浏览器限制Cookie的数量和大小(通常限制为50个,每个不超过4KB),对于复杂的存储需求来说是不够用的。
Session简介
Session在网络应用中称为“会话”,在PHP 中用于保存用户连续访问Web应用时的相关数据,有助于创建高度定制化的程序、增加站点的吸引力。
Session是一种服务器端的技术,它的生命周期从用户访问页面开始,直到断开与网站的连接时结束。
当PHP启动Session时,Web服务器在运行时会为每个用户的浏览器创建一个供其独享的Session文件。
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。