2023年11月25日发(作者:)

⾯试常考--cookiesession的区别

浅谈

Cookie*

⼀.什么是Cookie

HTTP协议本⾝是⽆状态的,即服务器⽆法判断⽤户⾝份。Cookie实际上是⼀⼩段⽂本信息(key-value格式)。客户端向服务端发起请

求,如果服务器需要记录该⽤户状态,就使⽤response向客户端浏览器颁发⼀个Cookie,客户端浏览器会把Cookie保存起来,当浏览器

再请求该⽹站时,浏览器把请求的⽹站连同该Cookie⼀起提交给服务器,服务器检查该Cookie,以此来辨认⽤户状态。

类似于,我们去银⾏办理储蓄业务,第⼀次给你办了张银⾏卡,⾥⾯存放了⾝份证、密码、⼿机等个⼈

信息,当你下次再来的时候,银⾏机

器能识别你的卡,从⽽能帮你办理业务。

cookiesession的区别:

1.存储的位置不同:cookie数据保存在客户端,session数据保存在服务器端。session存储的数据⽐较安全。

服务器也可以通过URL重写的⽅式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁⽤,则服务器可以⾃动通过重

写URL的⽅式来保存Session的值,并且这个过程对程序员透明。

可以试⼀下,即使不写Cookie,在使⽤kies();取出的Cookie数组的长度也是1,⽽这个Cookie的名字就是

JSESSIONID,还有⼀个很长的⼆进制的字符串,是SessionID的值。

2.存储的数据类型不同:两者都是key-value结构,但针对value的类型是有差异的。Cookie:value只能是字符串类型,session:value是