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

20. Cookie 和 Session的更多相关文章

  1. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  2. java的会话管理:Cookie和Session

    java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...

  3. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  4. 【转】Cookie和Session区别和联系详解

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

  5. 理解Cookie和Session机制(转)

    目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...

  6. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  7. Cookie和Session的区别详解

    本文引用自:http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一 ...

  8. cookie、session与token

    一.详述概念 1.Cookie机制 cookie机制是采用在客户端保持状态的方案(cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力).cookie的使用是由浏览器按照一定的原则在后台自 ...

  9. cookie 和session 的区别:

    1.cookie数据存放在客户的浏览器上,session数据放在服务器上.2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session.3. ...

随机推荐

  1. SPRING CLOUD微服务DEMO-上篇

    目录 1. 微服务架构 2. 远程调用方式 2.1 RPC/RMI 2.2 Http 2.3 如何选择 3. Http客户端工具 3.1 RestTemplate 4. Spring Boot 搭建项 ...

  2. 字符串模式匹配算法系列(一):BF算法

    算法背景: BF(Brute Force)算法,是一种在字符串匹配的算法中,比较符合人类自然思维方式的方法,即对源字符串和目标字符串逐个字符地进行比较,直到在源字符串中找到完全与目标字符串匹配的子字符 ...

  3. Centos7安装gearman和php扩展

    Centos7安装gearman和php扩展 标签(空格分隔): php,linux gearman所需要的依赖 yum install \ vim \ git \ gcc \ gcc-c++ \ w ...

  4. QTP——改变Excel的单元格颜色

    Public Function QTP_Change_Color(pathway,sheetname,x,y,color)        Dim srcData,srcDoc,sp1,sp2,num, ...

  5. div里添加元素样式

    function YUEFEN() { $(".BBNL_2").click(function () { $(".BBNL_2").css("colo ...

  6. 教你如何创建vue环境

    教你如何创建vue的环境 wdnmd我操作了一万年,终于成功创建了vue的环境,现在就来讲一下,到底应该怎么操作才能成功创建vue的 第一步 : 我们应该做的不是别的,而是去官方网站下载文件 node ...

  7. [Fw] assembly code in gas syntax

    Address operand syntax There are up to 4 parameters of an address operand that are presented in the ...

  8. JavaWeb的几种设计模式

    原文:http://blog.csdn.net/yue7603835/article/details/7479855 Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为 ...

  9. 批量授一种权限给用户程序 plm enovia

    set context user DanielDai;add program LUX_UserAssignment java execute immediate code 'import com.ma ...

  10. 2018-8-10-win10-uwp-横向-AppBarButton

    title author date CreateTime categories win10 uwp 横向 AppBarButton lindexi 2018-08-10 19:16:50 +0800 ...