前端面试 - Http Session问题,记录我愚蠢的回答=。=

本文详细解析了session的工作原理,并针对面试中常见的关于session的问题进行了解答,包括session如何获取、存储及与cookie的关系,旨在帮助前端开发者深入理解session机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天去面试前端开发,做完一张卷子后,面试官开始针对我卷子上的回答提问。

第一大块是说cookie和session的区别。

第一个问题是session是什么

我很从容的回答了说session是用来给无状态的http增加有状态的识别信息。

抽抽的地方来了,面试官问我session是怎么获取的?

我竟然说了一句根据userId获取,很感谢当时两位面试官竟然没有笑场=。=

现在回想,真是肠子都绕在一起了。


正确的理解是:

在服务器端生成session后,session会被存储在服务器内存中,

每一块session都被以sessionId唯一标识,sessionId是一串由32位数字和字母组成的code。

session块之间无法互相访问。

在服务器返回给客户端时,sessionId会随response返回到浏览器的cookie中。

客户端下次向服务器发送请求时,会将sessionid作为cookie的一部分附带在request中。

服务器根据request中的sessionid找打对应的session,执行后续业务操作。


如果server的容器是Tomcat或者JBoss,你可以在cookie中看到一个叫JSessionId的cookie

如果把该Cookie删除,往服务器发送请求时,服务器因为找不到对应的session块,所以认为当前无用户登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值