软件测试人员必备网络知识(4)什么是Token_Redis_MVC框架_代理服务器_以及HTTP相关知识

Token

什么是Token?

   在计算机身份认证中是令牌(临时)的意思。其实上面讲的单点登录里面ticket就是一个Token。Token你就可以把他理解为一个令牌,有了这个令牌可以出入权限允许的任意地方。

Token的作用?

   1、降低服务器压力。Token是无状态的以及不存储Session信息。如果我们将已验证的用户的信息保存在Session中,则每次请求都需要用户向已验证的服务器发送验证信息用户量大时,可能会造成一些拥堵。

   2、防止CSRF(跨站请求伪造:也被称为one-click attack或者session riding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法)

 

Redis

什么是Redis?

   Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。 

简单来说,Redis就是个数据库。

Redis优势有哪些?什么时候会用Redis?

   1、读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达次/s,写速度高达81000次/s。

   2、储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。

   3、...什么时候用redis,还是看需求。我们公司用的是redis,举个简单的例子,假设web端有个用户页面,用户数有1000万,第一次在web查询用户时,是从数据库查的。

当你第二次在web端查询用户时,可以从redis里面查(等于是把之前从数据库里面查询的数据放到redis里面了),这样就不用每次都访问数据库,大大降低了数据库的压力。

因为水平有限,更多redis、缓存相关知识(、?fr=aladdin)

其他知识补充:

   持久化:持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。

更多持久化知识(?fr=aladdin)   序列化: 将数据结构或对象转换成二进制串的过程。

更多序列化知识(?fr=aladdin)   反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。

MVC框架

概述

   MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

   MVC框架对于开发人员来说,应该说是小菜一碟。但是对于功能测试人员来说,或许是个难点,如果你不熟悉开发的话。

我们测试人员可以先问自己一个问题,假设有个web登录页面,输入用户名,密码,点击登录按钮这个期间,数据是怎么样一个传递方式?下面这张图可以说是完美解决了我们这个问题。

更多MVC知识(?fr=aladdin&fromid=85990&fromtitle=MVC)

HTTP相关

上文我们说到数据传递,在这里不得不说一下HTTP请求相关知识

浏览器输入一个地址经历了哪些有意思的事情?

概述

   超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

工作原理

1、建立TCP连接

   首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。

2、发送请求,包含请求命令和请求头   建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。比如先发送一个 GET /xxx/xxx.html HTTP/1.1 请求命令 给服务器,然后在发送一个请求头,告诉服务器自身信息,最后发送一个空请求头代表请求头信息发送完毕。

3、Web服务器应答   服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

4、客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上

5、然后客户机与服务器断开连接。

          下图摘自网络,出处见最后

 

 

什么是代理服务器?

   提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。

在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。

代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。

主要功能

   1、突破自身IP访问限制,访问国外站点。教育网、过去的169网等

   2、网络用户可以通过代理访问国外网站。

   3、访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。

   4、突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。

   5、提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。

   6、隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。

补充:什么是CDN?

   CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

原文是用markdown写的,所以在word中可能会显得奇怪,附上markdown地址:?id=1d65682fbb5db10e25f94dd9bbd17f00&sub=8C442FF17EF844A29FEC435C40

附:以上内容参考:百度百度维基百科http://blog.csdn.net/u011991249/article/details/53188117http://blog.csdn.net/fangaoxin/article/details/6952954/http://www.jianshu.com/p/c1d6a294d3c0?from=jiantop.comhttp://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/http://www.cnblogs.com/shengulong/p/5707967.html

好了,最近网络知识的大总结完了!

然后准备给大家整理一些性能测试的知识点出来,有需要的童鞋请在留言回复性能测试,要求的童鞋多,我就晚上下班后加加班,整理一下周三发出来~

PS:柠檬班这一周的公开课我给列一下,这么多大咖,总有一个会是你想听的

加群:,找毛毛领取周一的公开课视频哦

周一:小简老师

RF之selenium2library常用关键字 

周二:嗨皮老师

JDBC-Java操作数据库,新增百万数据 "会用Java去抽象大千世界会用SQL玩转数据库增删改查就是不会Java与数据库对话柠檬班教你30分钟搞定JDBC"

周三晚上 平安银行高级测试工程师  琳琳老师

软件测试工程师在项目中的职责 "平安银行高级测试工程师,是怎么跟进项目的? 文案:小公司流程不规范?大公司去面试的时候犯怵?担心自己的项目流程不规范?平安银行高级测试工程师,带你了解大公司的正规流程,让你更快更好的适应大公司的快节奏!"

周四晚上 前唯品会高级测试工程师

大佬教你H5测试

 H5是什么?

埋点测试是什么?

H5测试是新趋势吗?

前唯品会高级测试开发工程师,带你攻克H5测试的技术难点,让你下次面试不再被虐!分分钟成为H5测试大大大牛!

周五  美华华

如何进行路径测试

周六  美土豆

APP专项测试

周天   歪歪老师

mysql数据库shell脚本备份之逻辑备份和定时任务