20. Cookie 和 Session

之前我们在Cookie 和Session是什么?已经说过Cookie 和Session,但是为了保证系列的完整性,我们决定重新说一遍,当然可能会有一些区别,建议先从Cookie 和Session是什么?开始看。

Cookie

Cookie 定义

Cookie,又称为“小甜饼”。类型为“小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

为什么要使用Cookie?

上文中我们已经介绍过HTTP相关知识,但是没有说HTTP是无状态协议,无状态意味着对于事务处理没有记忆能力。举个简单的例子,在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么,所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。

虽然Cookie解决了HTTP无状态问题,但是从测试人员角度出发,笔者认为使用 Cookie还有以下几点缺陷:1. Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。2. 由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题,除非用HTTPS。3. Cookie的大小限制在4KB左右,对于复杂的存储需求来说是不够用的。

我们可以打开Chrom浏览器,地址栏输入chrome://settings/siteData,可以看到我们
Chrom浏览器已经帮我们储存了这么多Cookie。

image.png

我们在网上搜索一个关键词后,会发现在很多不同的网页广告栏位置都可能出现该关键字相关的内容。这种情况,很可能就是因为别人拿到了我们的Cookie,有了我们的Cookie,经过一系列的算法,别人就知道我们想要的内容,然后再进行推荐。

当然Cookie的优势和劣势可能远不止这些,关于Cookie的更多知识,可能还需要读者自己去了解,这里对Cookie只进行简单介绍。

Session

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

简单来说,客户端浏览服务端的时候,服务端把客户端信息以某种形式记录在服务器上,这种记录就是Session。

Cookie与Session区别

Cookie、Session简单来说都是为了识别用户信息,关于在开发过程中是使用cookie还是session,还是根据需求进行出发。Cookie与Session有哪些区别,笔者估计读者在网上也都找出许多答案。这里不做过多阐述,笔者认为主要有以下三个方面:

  • 存储方式不同,Cookie可以存储在浏览器或者本地,session只能存在服务器

  • 时效不同

  • 服务器压力不同,因为Session是存储在服务器当中的,所以Session过多,耗费大量的内存,可能会对服务器产生压力

本章小结:在测试过程中,我们一定不会绕过HTTP相关概念。我们在做接口测试的时候,如果对HTTP的请求方法都不是很清楚,笔者认为接口测试无从谈起。一个优秀的接口测试人员,对HTTP、Cookie、Session、这些基础概念应该是要烂熟于心的。本章大多内容都摘自维基百科,过程中有删减,读者可以通过搜索引擎再丰富对这些基础概念的理解。

软件测试汪简书地址
软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 5,666评论 1 49
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,383评论 1 17
  • 写在前面 cookie和session的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服...
    Pitfalls阅读 1,539评论 0 17
  • 现在的人,你跟他说真话,他以为你说假话; 你跟他说假话,他以为你说笑话; 你跟他说笑话,他竟然当真了…
    呜呼阅读 596评论 0 1
  • 城语·对味 ——多年前,因为孩子准生证的事宜,要到爱人老家去办理,就坐火车去了。那里竟然有热干面,赶紧来一碗以解离...
    sunroot阅读 270评论 0 0