一、前言
今天有个做开发的朋友和我聊了一下Cookie和Session,又勾起了我的分享和写作欲…今儿就来白话一下Cookie和Session。
二、Cookie和Session的对比
因为HTTP协议是一种无状态协议,即客户端和服务端谁也不认识谁。所以,有必要让两者之间有一定的“媒介”,为其二者的联系“搭桥”。
2.1、Cookie
什么是Cookie:其是http协议的重要组成部分, 存储数据量相对较少(4K左右), 存储cookie的时候可以设置过期时间, 到达过期时间后, 会自动销毁, 如果没有设置, 则跟随浏览器的关闭而销毁. cookie中存储的数据会伴随每一次http请求被发送到服务端.
原理:客户端访问服务器的时候,服务器生成一份cookie给客户端,客户端会把cookie保存起来,以后每次客户端访问服务器,都会自带这这份cookie(比如,cookie中存储了所在地理位置,以后每次进入地图就可以默认定位到该地点)。
储存位置:客户端(浏览器)
安全性:低。因为存储在客户端,很容易被篡改和清除。
2.2、Session
原理:客户端第一次请求服务器时,服务器把客户端的信息生成一份session保存在服务端,将session的ID以cookie的形式传递给客户端,以后客户端的每次请求,浏览器都会自带cookie(即session的id)反问服务器。
储存位置:服务端(服务器)。
安全性:相对较高,没有绝对的安全。
三、说明
参考链接:
cookie和session区别
欢迎大家一起讨论、学习