课程大纲
一、 定义
**接口:**外部与系统之间、内部各子系统之间的交互点。
比如日常使用的电脑,有电源接口、usb接口、耳机接口、显示器接口等,分别可以实现:与外部的充电、文件数据传输、声音输入输出、图像输入输出等功能。
**接口的本质:**经过封装的类;传递数据的通道。
**接口测试的本质:**模拟客户端向服务器发送请求。
二、 分类
1、按内外分
按照系统内外分为:外部接口、内部接口
内部接口可再分为:上层服务与下层服务接口、同级接口。
2、按协议分
常见的接口协议:
1.HTTP
超文本传输协议(HyperText Transfer Protocol)。
简单的"请求-响应"协议,通常运行在TCP之上。
它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;消息内容具有类似MIME(通用互联网邮件扩充协议)的格式。
是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网WWW(World Wide Web)的数据通信的基础。
2.HTTPS
安全超文本传输协议(Hyper Text Transfer Protocol over Security Socket Layer)。
对HTTP协议的一种扩展,它在HTTP的基础上加入了SSL/TLS协议进行数据加密和认证,使通过HTTPS传输的数据更加安全可靠。
3.FTP
文件传输协议(File Transfer Protocol)。
是 TCP/IP 协议组中的协议之一。
允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。常用:Xshell的文件拖拽。
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21两个端口:20用于传输数据,21用于传输控制信息。
但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关:如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
4.TCP
传输控制协议(Transmission Control Protocol)
一种面向连接的、可靠的、基于字节流的传输层通信协议。
是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
"三次握手,四次挥手":
(建立连接:三次握手)
(关闭连接:四次挥手)
5. IP
网际互连协议(Internet Protocol)。
即互联网协议,是TCP/IP体系中的网络层协议。
设计目的是提高网络的可扩展性:
1、解决互联网问题,实现大规模、异构网络的互联互通;
2、分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。
根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
6.UDP
用户数据协议(Open Systems Interconnection)
使用IP作为底层协议,是为应用程序提供一种以最少的协议机制向其他程序发送消息的协议。
它与TCP协议一样用于处理数据包,其主要特点是无连接,不保证可靠传输和面向报文。
参考文章:
1、《正确甄别API、REST API、RESTful API和Web Service之间的异同》
https://cloud.tencent.com/developer/article/1448167
2、《soap接口》
https://blog.51cto.com/topic/846a5d85bca5b40.html
3、《常见的接口协议》