1、Cookie与Session
Cookie:
Cookie的处理分为如下几步:
(1)服务器向客户端发送Cookie
(2)浏览器将Cookie保存
(3)之后每次浏览器都会将Cookie发向服务器端
缺点:
(1)除非Cookie过期,否则客户端每次请求都会发送这个Cookie到服务器端,一旦设置的Cookie过多,将会导致报头较大,造成带宽的部分浪费
(2)Cookie可以在前后端进行修改,因此数据就极容易被篡改和伪造
Session
Session的数据只保留在服务器端,客户端无法修改
如何将每个客户和服务器中的数据一一对应起来,这里有常见的两种实现方式:
第一种:基于Cookie来实现用户和数据的映射
虽然将所有数据都放在Cookie中不可取,但是将口令放在Cookie中还是可以的。因为口令一旦被篡改,就丢失了映射关系,也无法修改服务器端存在的数据了。并且Session的有效期通常较短,普遍的设置是20分钟,如果在20分钟内客户端和服务器端没有交互产生,服务器端就将数据删除。由于数据过期时间较短,且在服务器端存储数据,因此安全性相对较高
第二种:通过查询字符串来实现浏览器和服务器端数据的对应
它的原理是检查请求的查询字符串,如果没有值,会先生成新的带值的URL,然后形成跳转,让客户端重新发起请求