●网络接口⇌传递数据的通道
1.网络接口指的网络设备的各种接口,我们现今正在使用的网络接口都为以太网接口。
前端 与后端 进行交互,通过后端封装的接口 实现传输
接口测试:是测试系统组件间接口的一种测试
接口主要包括:
- 1.同一个系统中模块与模块间的接口/前端后端接口 →内部接口,
- 2.另一个是跨系统平台的对接 →外部接口--第三方接口
●常见接口协议:
HTTP类型/协议:通过 GET 或 POST 等方法来获取数据,在数据处理上效率较高
一个http request指的是从客户端到服务端的请求消息,包括以下信息:
- HTTP版本/请求地址url:
- 请求方法:GET、POST
- 请求头:content-type:客户端传递到服务器端的数据格式
- 请求正文:请求参数
服务端返回:
-
http状态码:标记响应状态的一个标识
-
响应头:response header cookie\token
-
响应正文:针对请求从服务器响应回来的数据 比如xml、json等 常见http状态码
200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误 状态码查询
get和post请求区别:
1.功能不同:get 是从服务器上获取数据。post 是向服务器传送数据。
2.过程不同:get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,在URL中可以看到。
post 是通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 ACTION 属性所指的 URL 地址。用户看不到这个过程。
3.获取值不同:对于 get 方式,服务器端用 Request.QueryString 获取变量的值。对于 post 方式,服务器端用 Request.Form 获取提交的数据。
4.传送数据量不同:get 传送的数据量较小,不能大于2KB。post 传送的数据量较大,一般被默认为不受限制。
5:安全性不同:get 安全性非常低。post 安全性较高。
●剖析cookie session token(令牌)
- cookie:在客户端存储用户的一些数据。比如说用户名信息
- session:在服务器端,记录用户的请求状态,一般默认时间是30min。
- token:用计算成本替换存储空间成本
例如会员卡机制。session_id 会存在 cookie 中,每次请求 cookie 中的所有信息都会传送给服务器,服务器通过 session_id 来识别是否是同一个用户的请求。不是同一个用户的话,就会要求用户重新登录。
为什么会有这种机制? 因http请求是无状态的。
Cookie 的机制
服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个, 无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是 Cookie 的工作原理。
当用户第一次访问并登录一个网站的时候,cookie 的设置以及发送会经历以下4个步骤:
- 客户端发送一个请求到服务器;
- 服务器发送一个 HttpResponse 响应到客户端,其中包含 Set-Cookie 的头部;
- 客户端保存 cookie,之后向服务器发送请求时,HttpRequest 请求中会包含一个 Cookie 的头部;
- 服务器返回响应数据。
Session 实现原理
服务器可以为每个用户浏览器创建一个会话对象( session对象) 服务器创建 session 出来后,会把 session 的 id 号,以 cookie 的形式回写给客户机, 这样,只要客户机的浏览器不关,再去访问服务器时,都会带着 session 的 id 号去, 服务器发现客户机浏览器带 session id 过来了,就会使用内存中与之对应的 session 为之服务。
Token的原理
当用户第一次登录后,服务器生成一个 token 并将此 token 返回给客户端, 以后客户端只需带上这个 token 前来请求数据即可,无需再次带上用户名和密码。
- 用户通过用户名和密码发送请求
- 程序校验
- 程序返回一个 Token 给客户端
- 客户端存储 Token,并且每次发送请求携带 Token
- 服务端验证 Token,并返回数据
支持跨域访问: Cookie是不允许垮域访问的,token支持;
无状态: token无状态,session有状态的; Cookie不支持手机端访问的;