软件测试八股文——面试题分享 这是非常经典的测试岗和前端岗的面试题。不管是几年经验的岗位面试官都喜欢问,也是答好说完整了可以和别人拉开差距的一道题!来看看怎么回答吧~
难度
【知识准备】http连接是无状态的,每次请求都是独立的,服务端无法分辨上一次的请求发送者和这一次的发送者是否同一个人。比如在淘宝网登录成功后,网页关闭后再打开发现网页保持了登录状态,不需要再次输入账密,就是因为有了cookie和session的会话跟踪。
【cookie】浏览器发送请求时,服务端会设置cookie,把name-value键值对填充完整后,发回给浏览器,浏览器进行保存。之后发送的那个请求都会带上cookie
【session】浏览器发送请求后,服务端创建session,并把sessionid发回给浏览器保存在cookie中。再次请求访问时,服务端会从cookie中获取sessionid,并根据sessionId查找保存在服务端的session信息。
【cookie和session的区别】 1、session比cookie更为安全,session保存在服务端,而cookie保存在客户端 2、cookie只能存储字符串类型的值,而session可以存任意数据类型。 3、cookie可以长时间保持,session有效期比较短,客户端关闭或者session超时都会失效 4、单个cookie保存数据不能超过4k,session存储数据比较高,但是当访问量过多,会占用过多服务器资源。
【Token】也叫令牌,是用来认证和授权的。浏览器发送请求后,服务端会生成一堆客户端信息比如账密,权限,过期时间,把信息签发返回给客户端。客户端收到Token后保存在数据库或者redis中,之后向服务端发起请求都带着token去验证。
|