cookie和session对我来说并不陌生,以前读书的时候开电脑的第一件事就是打开360清理垃圾,里面有一栏会提示是否清除cookie,当时我并不知道这玩意用来干嘛,随意基本都是每次都会清除.
最近在写登陆注册,遇到了cookie的session,并不是很理解,百度百科讲有太过于专业,看着很难理解,百度了很久结合了很多答案,再加上自己的理解,来记录一下以便好对比对错.
Session的概念
Session存放于服务器端用于存放用户信息,当用户第一次发送请求时,服务器会自动生成一个Session和Session ID用来记录这个用户,并在响应中附带这个Session ID返回到浏览器.
当用户第二次去请求服务器时.在请求中就会附带这个Session ID,服务器在获取这个ID后就会去数据库中对比Session,从而获取到用户的信息.
浏览器中保存这个Session ID有多种方式,但是我只遇到过使用cookie来保存所以就暂时说明这种方式:
服务器将Session ID发送到浏览器后.cookie将这个ID保存,如果不设置过期期限的话,当用户关闭浏览器后,就会自动清除这个ID,如果设置了过期期限,这个cookie就会保存到硬盘中,以便下次读取.
Cookie的概念
可以称之为’浏览器缓存’,它是在Web服务器保存在浏览器上的小文本文件,用于保存信息,但是保存的信息大小不能超过4K.
Cookie与Session的区别
cookie是存储在浏览器上,而session是保存在服务器上的,当我们访问服务器时,会将cookie中存储的session ID取出发往服务器,然后再根据这个ID查询相应的session从而获取用户信息.cookie一般用于判断用户是否登陆,以便下次能够直接登陆,还有就是能够保存我们浏览购物网站放入购物车的商品的信息还有一些搜索信息.
session是存储于服务器上的,所以无法伪造,而cookie是存在于本地的,所以可以被伪造,从安全性的角度来说,sessio是安全的,而cookie是不安全的.session一般用于验证登陆信息,存储一些私人或者比较重要的信息.
Cookie与Sesssion的联系
Cookie属于Session对象的一种,Session ID的存储依赖于Cookie.