http接口知识

1. 接口介绍

1.1 接口的基本知识
  • 定义

接口:指外部系统与系统之间以及内部各子系统之间的交互点。外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口

  • 接口分类

按内外部分:外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口
按协议分:http、webservice、dubbo、socket
https://blog.csdn.net/u011233568/article/details/78537386

  • 接口本质

经过封装的类
传递数据的通道

  • 接口测试的本质

模拟客户端向服务器发送请求

2. http协议

2.1 协议介绍
  • HTTP协议方法
  • GET----读取数据,不修改数据
  • POST----提交表单、上传文件等,一般用于修改或创建资源
  • PUT----提交数据,一般用于修改
  • DELETE----请求删除某资源
  • HEAD----和GET类似,但服务器不返回body,仅返回头。可查看资源修改日期。
  • OPTIONS----服务器返回资源支持的HTTP请求方法
  • TRACE----回显服务器收到请求,用于诊断和测试
  • CONNECT----预留给能够将连接改为管道方式的代理服务器
  • HTTP请求头

https://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html

字段释义示例
Host请求的主机名
Accept能够接受的返回内容类型text/html;*
Accept-Encoding能够接受的内容类型编码gzip,deflate
Authorization客户端认证信息Basic dXNIcjpwYXNz
Connection客户端使用的连接类型keep-alive upgrade close
cookies保存在该请求域名下的所有cookies值
content-Typerequestion的body部分类型application/x-www-form-urlencoded multipart/form-data
content-Lengthrequestion的body部分长度
range仅请求某个实体的一部分。字节偏移从0开始
Referer之前网页Url,可以根据此判断访问来源
User-Agent浏览器类型,一般包含名称、版本、操作系统信息等
X-Requested-With用于标记AjaxXMLHttpRequest
  • http状态码

https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

  • 1xx消息–请求已被服务器接收,继续处理
    101—协议的切换
  • 2xx成功–请求已成功被服务器接收、理解、并接收
    200成功
    201 created 新创建资源,比如新建帖子
    202 请求已收到,需等待处理
  • 3xx重定向–需要后续操作才能完成这一请求
    301 永久重定向
    302 临时重定向
  • 4xx请求错误–请求含有此法错误或者无法执行
    401 需要授权—输入用户名密码
    403 禁止访问—服务器知道客户端是谁,但客户端无权限
    404 Not Found
    405 方法不被允许
  • 5xx服务器错误–服务器在处理某个正确请求时发生错误
    503 服务停止
  • http响应头

https://blog.csdn.net/jeffasd/article/details/60140344

字段释义示例
Cache-Control告诉缓存机制是否可以缓存及哪种类型cache-control:publish,max-age=25920000
Connection客户端使用的连接类型keep-alive,close
Content-Encoding服务器返回内容压缩编码类型gzip
Content-Disposition可以让客户端下载文件并建议文件名Content-Disposition:attachment;filename=“abc.txt”
Set-Cookies设置cookies
content-TypeResponse的body部分类型application/x-www-form-urlencoded multipart/form-data
content-LengthResponse的body部分长度
Location重定向时,重定向到的网址
expires相应过期时间expires:
Last-Modified资源最后修改时间Last-Modified:
Refresh多少秒后重定向到某个网站Refresh: 10;url=http://163.com
Serverweb服务器名称Server:nginx/1.7.12
Upgrade协议升级用,表示已经升级到了什么协议Upgrade:web socket
2.2 session、token
  • cooike和session

https://www.cnblogs.com/nickjiang/p/9148136.html

  • session和token的区别

https://blog.csdn.net/love_onefly/article/details/80738888

2.3 授权和鉴权
  • 鉴权

(权限鉴定)访问的接口是否正常,是否是非法访问,绕过前端访问,一般系统使用session、token做鉴权

  • 授权

是否具有访问接口的权限,一般来说是唯一的、全局的、动态的,具有一定特征。(key)
https://blog.csdn.net/sjy8207380/article/details/79232644

2.4 get和post的区别
  • get
  • 通过url传参并进行url编码,不安全
  • 产生一个TCP数据包
  • 浏览器会把http header和data一并发送出去,服务器响应200(返回数据)
  • Post
  • post通过body传参,支持多种编码方式
  • 产生两个TCP数据包。
  • 浏览器先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据);
  • 数据和URL不会拼接到一起,post用额外的数据格式去传递如json/xml。

3. 接口测试工具

3.1 基本介绍
  • 原理:模拟客户端向服务端发送请求
  • 工具:jemeter、soupui、postman、fidder、loadrunner
  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP接口和RPC接口是两种常见的网络通信协议。 HTTP(Hypertext Transfer Protocol)是一种基于请求-响应模式的协议,通常用于在客户端和服务器之间传输超文本数据。HTTP接口使用HTTP协议进行通信,通过URL和HTTP方法(如GET、POST、PUT、DELETE)来定义请求的资源和操作。 RPC(Remote Procedure Call)是一种远程过程调用协议,用于在不同的计算机之间进行通信。RPC接口通过定义接口和方法来进行通信,客户端可以像调用本地方法一样调用远程服务器上的方法,而不需要关心底层的网络通信细节。 区别: 1. 语义:HTTP接口主要用于传输超文本数据,适用于Web应用程序的开发;而RPC接口更侧重于远程方法调用,适用于分布式系统的开发。 2. 通信方式:HTTP接口使用RESTful风格,通过URL和HTTP方法进行通信;而RPC接口使用自定义的协议进行通信,可以支持各种传输协议,如TCP、UDP等。 3. 序列化方式:HTTP接口通常使用JSON或XML等文本格式进行数据序列化;而RPC接口可以使用更高效的二进制序列化方式,如Protocol Buffers、Thrift等。 4. 技术栈:HTTP接口可以使用各种Web框架进行开发,如Spring MVC、Django等;而RPC接口通常需要使用专门的RPC框架,如gRPC、Dubbo等。 需要根据具体的应用场景和需求选择合适的接口类型,HTTP接口更适合Web应用的前后端通信,RPC接口更适合分布式系统的服务间通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值