好程序员web 前端 培训分享 面试题Session 、 Cookie 基础知识 , Web 前端作为当前市场上公认的高薪行业之一,吸引了很多人加入学习。不过,随着企业对求职者技能要求的提高,不难发现面试难度也在进一步加大。有不少同学想知道企业常问的考题是什么,接下来 好程序员 Web 前端培训小编就给大家简单分享 Session 、 Cookie 相关面试题。
1 、 Cookie 和 Session
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录 ;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。
2 、 Session 是什么
客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是Session 对象,存储结构为 ConcurrentHashMap 。 Session 弥补了 HTTP 无状态特性,服务器可以利用 Session 存储客户端在同一个会话期间的一些操作记录。
3 、 Session 如何判断是否是同一会话
服务器第一次接收到请求时,开辟了一块Session 空间 ( 创建了 Session 对象 ) ,同时生成一个 sessionId ,并通过响应头的 Set-Cookie : JSESSIONID=XXXXXXX 命令,向客户端发送要求设置 Cookie 的响应 ; 客户端收到响应后,在本机客户端设置了一个 JSESSIONID=XXXXXXX 的 Cookie 信息,该 Cookie 的过期时间为浏览器会话结束。
4 、 Cookie 是什么 ?
HTTP 协议中的 Cookie 包括 Web Cookie 和浏览器 Cookie ,它是服务器发送到 Web 浏览器的一小块数据。服务器发送到浏览器的 Cookie ,浏览器会进行存储,并与下一个请求一起发送到服务器。通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。
5 、什么是 Session Cookies
Session Cookies 也称为会话 Cookies ,在 Session Cookies 中,用户的登录状态会保存在服务器的内存中。当用户登录时, Session 就被服务端安全的创建。在每次请求时,服务器都会从会话 Cookie 中读取 SessionId ,如果服务端的数据和读取的 SessionId 相同,那么服务器就会发送响应给浏览器,允许用户登录。
6 、什么是 Json Web Tokens
Json Web Token 的简称就是 JWT ,通常可以称为 Json 令牌。它是 RFC 7519 中定义的用于安全的将信息作为 Json 对象进行传输的一种形式。 JWT 中存储的信息是经过数字签名的,因此可以被信任和理解。可以使用 HMAC 算法或使用 RSA/ECDSA 的公用 / 专用密钥对 JWT 进行签名。
使用JWT 主要用来下面两点:
认证(Authorization) :这是使用 JWT 最常见的一种情况,一旦用户登录,后面每个请求都会包含 JWT ,从而允许用户访问该令牌所允许的路由、服务和资源。单点登录是当今广泛使用 JWT 的一项功能,因为它的开销很小。
信息交换(Information Exchange) : JWT 是能够安全传输信息的一种方式。通过使用公钥 / 私钥对 JWT 进行签名认证。此外,由于签名是使用 head 和 payload 计算的,因此你还可以验证内容是否遭到篡改。
以上分享的内容只是最基础简单的知识点,如果你想了解更多企业常考的Web 前端求职面试题,可以关注“ 好程序员 ”微信公众号。你也可以来 好程序员 Web 前端培训班进行系统的学习进阶,感受高效学习、快乐学习的乐趣。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913864/viewspace-2689278/ ,如需转载,请注明出处,否则将追究法律责任。