接口基础知识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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

植物大战僵尸杂交版全新版v2.2解决无法打开问题和全屏问题

解决无法打开问题 如我的电脑是windows11的系统。 1.打开windows安全中心,点击病毒和威胁防护。 如图: 2.点击管理设置。 3.把实时保护给关掉,就行了。 如图: 然后就可以打开了。 解决无法全屏的问题 1.右键植物大战僵尸的快捷…

☺初识c++(语法篇)☺

目录 一命名空间(namespace): 二cout与cin简述: 三缺省参数: 四函数重载: 五引用: 六内联函数: 七c中的nullptr简述: 一命名空间(namespace)&#xff1…

网络编程:TCP

一、tcp编程 注意 1.数据本身有顺序 2.发送和接收次数不需要对应 3. 1. C/S 模式 》服务器/客户端模型 server:socket()-->bind()--->listen()-->accept()-->recv()-->close() client:socket()-->connect()-->send()-->close(); int on 1; setso…

SpringBoot日常:@Scheduled实现服务启动时执行一次

文章目录 一、Scheduled详解二、逻辑实现1、创建定时任务逻辑方法2、新建一个启动执行类 三、测试结果 说到定时任务,我们应该会想起Scheduled,Quartz以及XXL-JOB,但是有的单体服务或者小项目,为了方便快捷,可能会直接…

哪个充电宝口碑比较好?怎么选充电宝?2024年口碑优秀充电宝推荐

在如今快节奏的生活中,充电宝已然成为我们日常生活中的必备品。然而,市场上充电宝品牌众多,质量参差不齐,如何选择一款安全、可靠且口碑优秀的充电宝成为了消费者关注的焦点。安全性能不仅关系到充电宝的使用寿命,更关…

Labview_Note_4

1.字符串显示控件设置自动在最下边位置 字符串属性节点中→文本→滚动条位置 滚动框在滚动条中的位置。 如需设置该位置,可连线用于表示滚动行数的数值至该属性。LabVIEW在滚动条的最后一行显示连线至该属性的数值。如需滚动至文本的最后一行,可连线行…

springboot会议室管理系统-计算机毕业设计源码50331

目 录 摘要 1 绪论 1.1 开发背景与意义 1.2国内外研究现状 1.3 相关技术、工具简介 1.3.1 MySQL数据库的介绍 1.3.2 B/S架构的介绍 1.3.3 Java语言 1.3.4 SpringBoot框架 1.4论文结构与章节安排 2 会议室管理系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2…

看完这些内幕 你还会夹娃娃吗?

文|琥珀食酒社 作者 | 朱珀 听我一句劝 别再去抓娃娃了 因为你能抓多少 早已经被设计好了 只有娃娃机老板 才能爆赚80% 今天的这篇文章 来自粉丝阿凯的投稿 他不仅能让你创业避坑 还会告诉你 整个娃娃机行业的内幕 如此敢自揭行业内幕的老板 不是对这…

SpringCloud-consul

SpringCloud-consul 1. consul介绍1.1 为什么要引入服务注册中心?1.2 什么是consul?1.3 consul能干什么1.3.1 服务发现1.3.2 健康监测1.3.3 KV存储1.3.4 多数据中心1.3.5 可视化Web界面 2. consul下载、查看版本和启动1.3.1 consul下载1.3.2 consul查看版…

2024建博会|博联AI大模型全屋智能引领智能体验新纪元

7月8日,2024中国建博会(广州)在广交会展馆及保利世贸博览馆盛大启幕。BroadLink博联智能携AI大模型全屋智能以及AI商业照明解决方案惊喜亮相,全方位展示AI大模型在智能家居领域的前沿应用成果。 本次建博会,博联智能带…

3款ui设计师必备的高效软件,一定要收藏!

UI设计小伙伴们,你们是否在寻找那些能够让设计工作事半功倍的插件呢?今天,我要为大家带来3款UI设计软件中的高效软件,它们不仅能够极大提升我们的工作效率,还能让我们的设计更加专业和精致。让我们一起来看看这些不容错…

HTML CSS 基础复习笔记 - 框架、装饰、弹性盒子

自己复习前端基础&#xff0c;仅用于记忆&#xff0c;初学者不太适合 示例代码 - HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…

数据结构 —— Dijkstra算法

数据结构 —— Dijkstra算法 Dijkstra算法划分集合模拟过程打印路径 在上次的博客中&#xff0c;我们解决了使用最小的边让各个顶点连通&#xff08;最小生成树&#xff09; 这次我们要解决的问题是现在有一个图&#xff0c;我们要找到一条路&#xff0c;使得从一个顶点到另一个…

前端JS特效第26波:jQuery日期时间选择器插件

jQuery日期时间选择器插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!DOCTYPE html> <html> <head lang"zh-CN"> <meta charset"UTF-8"> <title>jQuery日期时间选择器插件 - PHP中文网</t…

UI自动化测试是什么?什么项目适合做UI自动化测试

1. 页面对象设计模式的优势 (1) 创建可以跨多个测试用例共享的代码 (2) 减少代码的重复性 (3) 如果界面需要维护&#xff0c;只需要修改一个地方&#xff0c;修改以及维护的成本减少 2. 每个目录结构表达的意思 (1) Base:基础层&#xff0c;是用来编写定位元素 (2) Commo…

PL/SQL安装+汉化教程

PL/SQL安装教程 一、安装&#xff1a; 登陆官网&#xff1a;PL/SQL Developer - Allround Automations下载 下载PL/SQL稳定版本12.0.7 根据自己计算机版本安装相适配的版本。我这里安装X64-bit版本 进行安装&#xff1a; 根据情况去更改安装&#xff0c;我这里全部下一步…

【从零到一,如何搭建本地AI大模型】

摘要: 本文主要记录这一段时间对本地大模型搭建的心得。 作为一个资深程序员,在AI席卷全球的时候,深深感觉到了一丝危机感,不禁有一个想法不断在脑海闪现:我会不会真的哪一天被AI给取代了? 从哪入手 程序员出生的我,掌握了很多语言,从前端到数据库,再到运维,基本都…

Java基础-组件及事件处理(上)

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 Swing 概述 MVC 架构 Swing 特点 控件 SWING UI 元素 JFrame SWING 容器 说明 常用方法 示例&a…

为什么选择虚拟艺术设计展览?艺术家应知的五个关键好处

随着技术的进步&#xff0c;虚拟艺术设计展览成为了展示艺术作品的重要途径。它不仅为艺术家们提供了新的展示平台&#xff0c;还打破了传统展览的局限。 1、扩大观众范围&#xff1a;打破地理限制 虚拟艺术设计展览能够打破地理限制&#xff0c;使得全球观众可以随时随地访问…

Androidstudio开发,天气预报APP

1.项目功能思维导图 2. 项目涉及到的技术点 数据来源&#xff1a;和风天气API使用okhttp网络请求框架获取api数据使用gson库解析json数据使用RecyclerViewadapter实现未来7天列表展示和天气指数使用PopupMenu 实现弹出选项框使用动画定时器实现欢迎页倒计时和logo动画使用Text…