之前我们在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。

我们在网上搜索一个关键词后,会发现在很多不同的网页广告栏位置都可能出现该关键字相关的内容。这种情况,很可能就是因为别人拿到了我们的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

转载于:https://www.cnblogs.com/suim1218/p/10563408.html

20. Cookie 和 Session相关推荐

  1. cookie 和session 的区别详解

    转自 https://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者 ...

  2. web存储中cookie、session区别

    http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的.为了使得web能够产生一些动态信息,就需要保存"状态",而cookie和session机制就是为了解决http ...

  3. 还分不清 Cookie、Session、Token、JWT?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 转自:掘金   作者:秋天不落叶 juejin.im/po ...

  4. Token ,Cookie、Session傻傻分不清楚?

    点击上方蓝色"视学算法",选择"设为星标" 作者 | 王菜鸟1993 来源 | cnblogs.com/JamesWang1993/p/8593494.html ...

  5. 详解COOKIE和SESSION关系和区别

    (转自个推,理解起来不难) 在技术面试中,经常被问到"说说Cookie和Session的区别",大家都知道,Session是存储在服务器端的,Cookie是存储在客户端的,然而如果 ...

  6. 关于cookie的文章(cookie与session机制)

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  7. cookie 和 session 机制

    cookie机制 Cookie实际上是Web服务端与客户端(典型的是浏览器)交互时彼此传递的一部分内容,内容可以是任意的,但要在允许的长度范围之内.客户端会将它保存在本地机器上(如IE便会保存在本地的 ...

  8. python自动化接口测试中的cookies怎么实现_Python接口自动化之cookie、session应用

    ------·今天距2021年260天·------ 这是ITester软件测试小栈第112次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请 ...

  9. 计算机网络【10】—— Cookie与Session

    一.cookie 和session 的区别 a.cookie数据存放在客户的浏览器上,session数据放在服务器上. b.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKI ...

最新文章

  1. srs-2-CentOS6 创建 Simple-Rtmp-Server
  2. IBM拓展云数据分析服务 用户来“做主”
  3. 中国爬虫违法违规案例汇总
  4. table取tr对象 vue_javascript的DOM对象终极总结:你必看的js面向对象
  5. 在Eclipse中显示.project和.classpath和.setting目录
  6. Centos7 Docker容器操作_入门试炼03
  7. jQuery基础学习笔记(上)
  8. 阿里云 云服务器ECS(CentOS 8.0 64位) 安装 MySQL 数据库
  9. Sass 内置函数总结
  10. 亚马逊中国官网挂了:因清仓大促销致官网崩溃,谁来背锅?
  11. linux直播电视软件下载,周末了!通过Linux Mint开发的IPTV播放器观看海量国内外直播电视...
  12. 关于IDEA下载安装,jpcap与wincap的一些使用方法
  13. 解决Ubuntu插上耳机没声音
  14. js(jquery)鼠标移入移出事件时,出现闪烁、隐藏显示隐藏显示不停切换的情况
  15. 常用的第三方模块-Pillow
  16. wdnas群晖nas_WD 西部数据 伪NAS折腾记 篇三:WD 西部数据 MyCloud安装黑群晖教程
  17. Mac上Chrome浏览器跨域问题
  18. 对计算机导论知识浅显的了解和认识,计算机导论课结课
  19. Java接口回调,异步回调理解
  20. Solidworks钣金教程:solidworks草图知识要点

热门文章

  1. 中科大410分计算机排名第几,2021考研成绩发布:中科大400分无缘复试,中山大学321分登顶第二...
  2. java解析csv文件写入mysql_java读取cvs文件并导入数据库
  3. tomcat人数限制_Tomcat 七最大并发连接数的正确修改方法
  4. Jupyter Notebook使用说明
  5. android+studio2.1+是否不支持感染到了.0,Android studio 2.2.3 升级到2.3遇到的问题
  6. php项目导入其他包,将一个外部项目导入Thinkphp环境中
  7. jenkins发送allure测试报告附件
  8. 联想笔记本暗屏几乎看不见_2020年内存条推荐-选购指南(DDR3/DDR4/台式/笔记本内存)...
  9. python的opencv库_python环境下安装opencv库的方法
  10. 3d环形图片展示 js_网易公开课Three.js实践 勋章系统