当前位置:网站首页>day12---接口和协议
day12---接口和协议
2022-08-03 07:21:00 【宁氓】
1. 软件开发的两种结构
1.1 CS(Client/Sever):客户端---服务器结构
C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。
1.2 BS(Browser/Sever):浏览器--服务器结构
是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面.
1.3 CS和BS的区别
不同点:
1)开发维护成本 : CS开发维护成本高于BS.
2)客户端负载 : CS客户端负载大.
3)安全性 : CS安全性高.
4)作用范围 : Client/Server是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的。
5)自动化测试 : BS使用是selenium,CS使用是appium
6)专项测试 : BS没有专项测试,CS有专项测试包括:安装,卸载,中断,弱网,monkey稳定性测试等
相同点:
根据需求文档,编写测试用例,编写测试用例的方法相同
2. 接口
2.1 接口分类
http接口 : 基于HTTP协议的开发接口. 请求参数 key-values json
webservice接口 : 是系统对外开放的接口. 请求参数 xml格式
2.2 HTTP请求方式
1) get : 请求指定的页面信息, 并返回实体主体.
2) post : 向指定资源提交数据进行处理请求。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改.
3) put : 从客户端向服务器传送的数据取代指定的文档的内容.
4) delete : 请求服务器删除指定的页面.
注意 : get 和 post的区别 :1) get用于获取数据 , post用于提交数据
2) get请求参数放在url中 , post请求参数放在body中 , post相对安全
3) url是有长短限制的,所以get请求参数是有限制的,post默认没有限制
2.3 HTTP请求包含哪些内容
1)请求报文request
请求行 : 请求方式 , url , http版本
请求头 : Host(主机地址)
connection(连接方式)
referer(引用地址)
accept-language(语言)
accept-encoding(编码方式)
cookie
请求参数 :
2)响应报文response
响应行 : http版本号 , 状态码
响应头 : content-type(请求体的MIME类型)/
connection(连接方式)/
Server(服务器名字)/
set-cookie(设置和页面关联的cookie)
响应的信息 :
2.4 状态码
状态码 | 状态值 | 含义 |
200 | OK | 请求成功. 一般用于get和post请求 |
301 | Moved Permanently | 永久重定向 |
302 | Found | 临时重定向 |
403 | Forbidden | 禁止访问 |
404 | Not Found | 请求内容未找到或已删除 |
500 | Internal Sever Error | 服务器端程序错误 |
503 | Service Unavaiable | 服务器端临时错误 |
2.5 接口测试
1) 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互
2)接口测试用例
用例编号, 所属模块, 用力功能, 请求方式, 请求头, 请求体, 请求路径, 请求参数, 预期结果, 实际结果
3.HTTP(超文本传输)协议
3.1 什么是HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网tcp/ip(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议
HTTP是一个客户端和服务器端请求和应答的标准,客户端是终端用户,服务器端是网站
3.2 HTTP中的URL
一个完整的URL包括以下几部分:
1) 协议 : HTTP/HTTPS
2) 域名或者是IP
3) 端口号
4) 路径
5) 参数
3.3 HTTP和HTTPS的区别
1) 端口号 : HTTP的端口号是80 ; HTTPS的端口号是443
2) 安全性 :HTTP是明文传输, 不加密
HTTPS是密文传输, HTTPS包含HTTP和SSL, 由于SSL是加密的, HTTPS也是加密的
3.4 HTTP1.0和HTTP1.1的区别
1) HTTP1.0默认使用短连接, 每次请求都需要建立新的TCP连接, 连接不能复用
HTTP1.1支持久连接, 在一个TCP连接上可以传送多个HTTP请求和响应, 减少了建立和关闭连接的消耗和延迟
2)HTTP 1.0不支持Host请求头字段。
4. 会话跟踪术
web程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。
早期为了记录用户的状态时,就在浏览器记录用户信息cookie机制,每次请求都会往服务器发送这些数据,这样服务器就知道是谁在请求了,该对应返回什么样的数据,但是久而久之,安全性就暴露出来了。
cookie是在本地的,在本地就会有人想着去修改cookie里面的数据,从而获取别人的信息。于是就有新的处理办法,改在服务器端记录用户信息。也就出现了session机制,一切用户的身份由服务器掌控。这就是cookie机制和session机制的历史。
在一个会话的多个请求中共享数据,这就是会话跟踪技术
4.1 保存会话的两种技术
客户端技术 Cookie
两个经典应用场合:判定注册用户是否已经登录网站,购物车。
服务端技术 Session
经典应用场合一般就是在Session中存储了用户的登录信息,进而可以访问一些需要权限才能访问的页面。
5. Cookie
5.1 Cookie概念
Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了
5.2 Cookie 原理分析
5.3 Session和Cookie的主要区别在于:
Cookie是把数据保存在浏览器端的内存中
Session把数据保存在服务器端的内存中
Cookie与Session的联系:
当服务器端生成一个session时就会向客户端发送一个cookie保存在客户端,这个cookie保存的是session的sessionId。。这样才能保证客户端发起请求后客户端已经登录的用户能够与服务器端成千上万的session中准确匹配到已经保存了该用户信息的session,同时也能够确保不同页面之间传值时的正确匹配
边栏推荐
猜你喜欢
随机推荐
excel高级绘图技巧100讲(二十一)- Excel层叠柱形图
mysql备份时的快照原理
安全狗云原生安全能力全面亮相全球数字经济大会暨ISC互联网安全大会
解决GANs训练中模式崩塌/训练崩溃的十五个方法
“碳中和”愿景下,什么样的数据中心才是我们需要的?
mysqlbinlog: unknown variable 'default-character-set=utf8'
MySQL or使索引失效
pgaudit 的安装使用《postgresql》
How to choose a reliable and formal training institution for the exam in September?
SSM整合流程
[Hello World] 二分查找笔记
Pyspark - an empty string is replaced by None
循环神经网络RNN基础《PyTorch深度学习实践》
Roson的Qt之旅#106 QML在图片上方放置按钮并实现点击按钮切换图片
推荐系统-排序层-精排模型:LR、GBDT、Wide&Deep、DCN、DIN、DIEN、MMOE、PLE
22-08-02 西安 尚医通(02)Vscode、ES6、nodejs、npm、Bable转码器
伦敦银现货市场如何使用多条均线?
LeetCode 264:丑数
(十五)51单片机——呼吸灯与直流电机调速(PWM)
information_schema