接口基础知识1:认识接口

课程大纲

图片

一、定义

        接口:外部与系统之间、内部各子系统之间的交互点。

        比如日常使用的电脑,有电源接口、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、《常见的接口协议》

https://www.jianshu.com/p/a7ae9d0d4c10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

262个地级市-市场潜力指数(do文件+原始文件)

全国262个地级市-市场潜力指数(市场潜力计算方法代码数据)_市场潜力数据分析资源-CSDN文库 市场潜力指数:洞察未来发展的指南针 市场潜力指数是一个综合性的评估工具,它通过深入分析市场需求、竞争环境、政策支持和技术创新等多个…

面向字节流传输数据

当提到“传输数据面向字节流”,这是指在网络通信中,数据被视作一连串的无结构字节,而不是按照特定的数据块或记录进行传输。这种传输方式是面向传输层协议(如TCP)的一个特性,它允许数据以连续的字节流形式在…

phpstudy框架,window平台,如何开端口给局域网访问?

Windows平台上使用phpstudy框架开端口给同事访问,主要涉及到几个步骤:查看并确认本机IP地址、配置phpstudy及网站项目、开放防火墙端口以及确保同事能够通过局域网访问。以下是详细的步骤说明: 1. 查看并确认本机IP地址 首先,需…

SQLAlchemy pool_pre_ping

pool_pre_ping 是 SQLAlchemy 中 create_engine 函数的一个参数,它用于配置连接池的行为。当设置为 True 时,pool_pre_ping 启用了连接池在每次从池中取出(即“签出”或“checkout”)连接之前,先测试该连接是否仍然活跃…

(2)滑动窗口算法练习:无重复字符的最长子串

无重复字符的最长子串 题目链接:3. 无重复字符的最长子串 - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是"a…

mov视频怎么改成mp4?把mov改成MP4的四个方法

mov视频怎么改成mp4?选择合适的视频格式对于确保内容质量和流通性至关重要。尽管苹果公司的mov格式因其出色的视频表现备受赞誉,但在某些情况下,它并非最佳选择,因为使用mov格式可能面临一些挑战。MP4格式在各种设备(如…

构造二进制字符串

目录 LeetCode3221 生成不含相邻零的二进制字符串 #include <iostream> #include <vector> using namespace std;void dfs(string s,int n,vector<string>& res){if(s.size()n){res.push_back(s);return;}dfs(s"0",n,res);dfs(s"1"…

使用redis进行短信登录验证(验证码打印在控制台)

使用redis进行短信登录验证 一、流程1. 总体流程图2. 流程文字讲解&#xff1a;3.代码3.1 UserServiceImpl&#xff1a;&#xff08;难点&#xff09;3.2 拦截器LoginInterceptor&#xff1a;3.3 拦截器配置类&#xff1a; 4 功能实现&#xff0c;成功存入redis &#xff08;黑…

搜维尔科技为空气分离、氢气、石化和天然气工厂的现场操作员提供虚拟现实(VR)培训

搜维尔科技为空气分离、氢气、石化和天然气工厂的现场操作员提供虚拟现实(VR)培训 搜维尔科技为空气分离、氢气、石化和天然气工厂的现场操作员提供虚拟现实(VR)培训

python 中关于append和extend的区别用法

#方法1 d[1,2,[3,4]] c[] for i in d:if type(i) int:c.append(i)else:c.extend(i)# append方法用于将单个元素添加到列表的末尾&#xff0c;这意味着无论元素是什么类型# &#xff08;如整数、字符串等&#xff09;&#xff0c;它都将作为一个独立的元素添加到列表中。# exten…

UE5.2 AI实时抠像(无需绿幕) + OBS推流直播 全流程

最近通过2个UE5.2插件实现了从AI实时抠像到OBS推流的直播流程搭建&#xff0c;也为了水一篇博客&#xff0c;就在这里记录一下了&#xff0c;觉得没有意思的朋友&#xff0c;这里先说为敬了。 具体教程参考&#xff1a;【UE5 AI抠像OBS推流全流程&#xff08;简单免费&#xf…

华为机考真题 -- 寻找身高相近的小朋友

题目描述: 小明今年升学到z小学—年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各4朋友和自己的身高差q对他们进行排序,请帮他实现排序。 输入描述: 有一行为正整数h和n,0<h<200,为小明的身高,0<n<50,为新班级其他小朋友个数。 第二行为…

java中 使用数组实现需求小案例

Date: 2024.04.08 18:32:57 author: lijianzhan 需求实现&#xff1a; 设计一个java类&#xff0c;java方法&#xff0c;根据用户手动输入的绩点&#xff0c;从而获取到绩点最高的成绩。 实现业务逻辑的代码块 import java.util.Scanner;public class PointDemo {/*** 需求&…

Spring相关面试题(四)

49 JavaConfig方式如何启用AOP?如何强制使用cglib&#xff1f; 在JavaConfig类&#xff0c;加上EnableAspectJAutoProxy 如果要强制使用CGLIB动态代理 &#xff0c;加上(proxyTargetClass true) 加上(exposeProxy true) 就是将对象暴露到线程池中。 50 介绍AOP在Spring中…

【3】迁移学习模型

【3】迁移学习模型 文章目录 前言一、安装相关模块二、训练代码2.1. 管理预训练模型2.2. 模型训练代码2.3. 可视化结果2.4. 类别函数 总结 前言 主要简述一下训练代码 三叶青图像识别研究简概 一、安装相关模块 #xingyun的笔记本 print(xingyun的笔记本) %pip install d2l %…

详解TCP和UDP通信协议

目录 OSI的七层模型的主要功能 tcp是什么 TCP三次握手 为什么需要三次握手&#xff0c;两次握手不行吗 TCP四次挥手 挥手会什么需要四次 什么是TCP粘包问题&#xff1f;发生的原因 原因 解决方案 UDP是什么 TCP和UDP的区别 网络层常见协议 利用socket进行tcp传输代…

【js面试题】深入理解DOM操作:创建、查询、更新、添加和删除节点

面试题&#xff1a;DOM常见的操作有哪些 引言&#xff1a; 在前端开发中&#xff0c;DOM&#xff08;文档对象模型&#xff09;操作是日常工作中不可或缺的一部分。DOM提供了一种以编程方式访问和更新文档内容、结构和样式的接口。 任何html或 xml 文档都可以用dom表示为一个由…

KIVY Button¶

Button — Kivy 2.3.0 documentation Button Jump to API ⇓ Module: kivy.uix.button Added in 1.0.0 The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the s…

【论文速读】| 用于安全漏洞防范的人工智能技术

本次分享论文&#xff1a;Artificial Intelligence Techniques for Security Vulnerability Prevention 基本信息 原文作者&#xff1a;Steve Kommrusch 作者单位&#xff1a;Colorado State University, Department of Computer Science, Fort Collins, CO, 80525 USA 关键…

ISO/OSI七层模型

ISO:国际标准化/ OSI:开放系统互联 七层协议必背图 1.注意事项&#xff1a; 1.上三层是为用户服务的&#xff0c;下四层负责实际数据传输。 2.下四层的传输单位&#xff1a; 传输层&#xff1b; 数据段&#xff08;报文&#xff09; 网络层&#xff1a; 数据包&#xff08;报…