学习
实践
活动
专区
工具
TVP
写文章

Cookie和Session知识扫盲

阅读文本大概需要 5分钟。

测试工作中我们经常会听到这两个词,作为测试一定要理解这两个概念,对于测试应用的接口、业务理解很有帮助。

Cookie和Session的作用?

为什么会有这两个东西,首先明确一下HTTP协议的一个重要特点“无状态”,数据交换完成,服务端和客户端就断开连接了,所以请求之间没有相关联系,每一个请求都是一个独立的新请求,为了实现状态保留的,保证前后正常通信,需要在客户端或服务器端存储与会话相关的数据,所以设计了这两个机制。

Cookie的原理是什么?

Cookie中文称为“甜饼”,是由W3C组织提出的保存在客户端本地,方便下次访问服务端时直接放到请求报文头中,如登录的cookie,下次访问同一网站时,用户不必再次输入用户名和密码就已经直接登录,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。

session原理什么?

Session保存在服务器上用来记录用户状态的机制。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。Session在用户第一次访问服务器的时候自动创建。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

一般客户端和服务端通过一个SessionID来进行沟通,为了防止不同的用户之间出现冲突和重复,SessionID一般是一个32或者48个字节的随机字符串。

cookie 和session 的区别:

存放位置不同:cookie数据存放在客户端(浏览器);session数据放在服务器端,一般存储在内存中,但是SessionID存储在客户端cookie中。

cookie由浏览器存储在本地,安全有风险,不宜存储敏感信息,如密码等。

session会在一定时间内保存在服务器上,访问较多时,影响服务器性能。

如何测试?

检查cookie是否按照设置时间保持。

刷新对cookie有什么影响。

删除cookie后应用的状态。

与token的关系?

有些网站的登录并不是采取cookie形式,而是用token,一般app的登录,都是用token来校验的,大家可以抓包一些软件验证一下。关于token后面会单独给大家讲解。

欢迎关注转发,点赞

持续分享开发测试知识!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190121G16QAP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券