接口相关概念总结

测试眼中的接口

可以独立部署成服务的协议接口

常见的接口协议

HTTP 超文本传输协议

HTTPS 安全超文本传输协议

FTP 文件传输协议

比如xshell中的上传工具,采用的就是文件传输协议。

TCP 网络控制协议

IP互联网协议

UDP 用户数据协议

比如qq和微信等采用的就是用户数据协议

HTTP协议响应码

每一种响应码代表了服务端给我们反馈的响应状态,也就表示我们此次请求的结果。

1xx:信息响应类,表示接收到请求并且继续处理,即请求的一个中间状态。

2xx:处理成功响应类,表示动作被成功接收、理解和接受。

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理。

4xx:客户端错误,客户情况包含语法错误或者是不能正确执行。

5xx:服务端错误,服务器不能正确执行一个正确的请求。

HTTP协议请求响应模型

graph TD A(API) -->B(DB数据库) B --> A(API) A --> C(Client) C --> A(API)

http协议请求响应模式(一次请求的生命周期或简单的软件分层)具体过程如下:

场景(登录)
1、客户端发起请求到api接口层
	1.1 用户在客户端填写用户名和密码,点击登录,发送请求
2、api接收到客户端发起的用户请求
	2.1 api对业务逻辑进行验证
    	2.1.1 验证用户名和密码是否合法
        比如:用户名要求必须为真是手机号码(11位,1开头,第二位是3、4、5、6、7、8、9)
		如果验证失败,即用户名不合法,那么需要给客户端返回响应码
         比如自定义的响应码:100001、100002、100003
		100001代表用户名格式错误
         100002代表用户名或密码错误
         100003代码密码格式错误
3、api会将用户输入的数据发给db层
	Create、Read、Update、Delete
    (select * from user where userName = '' and password = '';)
	3.1 数据库查询成功则返回1,失败则返回0
4、DB会将返回的查询数据库的条目数返回给api
5、api返回成功或失败的状态码给客户端
6、客户端将返回信息提示给用户

常用的HTTP请求方式

GET请求

http://127.0.0.1:8080?username=zhangsan&password=123456

POST请求

url http://127.0.0.1:8080
请求体
{
			[
				"username":"zhangsan";
				"password":"123456"
			]
}

HTTP请求的方法:

HTTP/1.1协议中共定义了八种方法(有时也叫"动作"),来表明Request-URL指定的资源不同的操作方式。

1、 OPTIONS
	返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送'*'的请求来测试服务器的功能性
2、 HEAD 
	向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
	向特定的资源发出请求。注意:GET方法不应当被用户产生"副作用"的操作中。例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。
4、POST
	向指定资源提交数据进行处理请求。(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
5、PUT
	向指定资源位置上传其最新的内容。
6、DELETE
	请求服务器删除Request-URL所标识的资源
7、TRACE
	回显服务器搜狐到的请求,主要用于测试或诊断。
8、CONNECT
	HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的
	当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);
	当服务器不认识或者不支持对应的请求方法时,应返回的状态码501(Not Implemented)
2)HTTP服务器至少应该事先GET和HEAD/POST方法。

其中最经常使用的方法有:GET、POST。
常用的TCP/IP协议可以参考

OSI七层网络模型与TCP/IP四层模型介绍

posted @ 2019-07-04 23:03  janehost  阅读(567)  评论(0编辑  收藏  举报