接口相关概念总结

测试眼中的接口

能够独立部署成服务的协议接口javascript

常见的接口协议

HTTP 超文本传输协议

HTTPS 安全超文本传输协议

FTP 文件传输协议

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

TCP 网络控制协议

IP互联网协议

UDP 用户数据协议

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

HTTP协议响应码

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

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

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

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

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

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

HTTP协议请求响应模型

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

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

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

经常使用的HTTP请求方式shell

GET请求数据库

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

POST请求api

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

HTTP请求的方法:安全

HTTP/1.1协议中共定义了八种方法(有时也叫"动做"),来代表Request-URL指定的资源不一样的操做方式。服务器

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

经常使用的TCP/IP协议能够参考微信

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

相关文章
相关标签/搜索