好程序员web前端培训分享面试题Session、Cookie基础知识

简介:

  好程序员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前端培训班进行系统的学习进阶,感受高效学习、快乐学习的乐趣。

相关文章
|
存储 前端开发 安全
前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
本文全面解析前端三种数据存储方式:Cookie、LocalStorage与SessionStorage。涵盖其定义、使用方法、生命周期、优缺点及典型应用场景,帮助开发者根据登录状态、用户偏好、会话控制等需求,选择合适的存储方案,提升Web应用的性能与安全性。(238字)
1253 0
|
缓存 前端开发 中间件
[go 面试] 前端请求到后端API的中间件流程解析
[go 面试] 前端请求到后端API的中间件流程解析
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
567 156
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
394 1
|
存储 NoSQL Java
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
|
存储 JavaScript 前端开发
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
519 2