产品经理必备知识——API接口_产品经理 kol
liuian 2025-09-18 03:44 51 浏览
进入互联网时代之后,API接口的出现为不同应用程序搭建起了桥梁,那么,你是否真的了解API呢?这篇文章里,作者对API接口的分类、原理、API接口的请求方式等问题进行了总结,一起来看。
在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如今万物互联的时代,我通过一部手机就可以实现衣食住行的方方面面,比如:在家购物、远程控制家电、自动驾驶等等,背后都离不开我们今天要聊的API接口。
一、什么是API及其重要性
API接口是应用程序编程接口(Application Programming Interface)的缩写,是一种预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。简单来说,API就是让不同的软件之间可以互相通信、协作的工具。
在当今数字化时代,互联网已经成为人们生活和工作中不可或缺的一部分。而API接口则是连接不同应用程序的重要桥梁,它使得不同的应用程序之间可以进行数据交换、信息共享,从而提高工作效率、降低成本,推动数字化转型进程。
比如我们现在看到很多app打开都会弹出请求定位服务的弹窗,本质就是 GPS服务商提供了精准位置的API接口,app通过调用API接口获取设备的经纬度参数。
如果你选择允许,app就会根据你的当前位置为你提供更加个性化的一些服务,当然也有一些app拿到你的位置信息做出损害用户利益的行为,所以还是需要谨慎授权。
二、API接口的分类和原理
API接口按类型分类 API接口可以根据其使用方式的不同进行分类,常见的有:
远程过程调用(RPC):通过发送请求和响应消息的方式实现程序间的通信。RPC的设计类似于普通的过程调用,就如同在本地调用API一样。RPC API通常使用二进制压缩格式传递消息,目的就是提高传输效率,但这通常需要在客户端安装指定的库(也就是所谓的存根),这些库与单个API一起工作。
远程函数调用(RFC):类似于RPC,但是更加灵活,允许客户端直接调用服务器上的函数。
消息传递接口(MPI):一种基于消息传递的通信方式,常用于分布式系统中。
通用对象访问协议(CORBA):一种面向对象的通信协议,允许不同操作系统之间的对象之间的相互交互。
API接口的原理介绍 API接口的原理其实就是利用网络协议来实现不同应用程序之间的通信。当一个应用程序需要调用另一个应用程序中的某个功能时,它会向目标应用程序发送一条请求消息,目标应用程序接收到请求后会进行处理并返回相应的响应消息给发起请求的应用程序。这个过程中涉及到了网络协议、数据传输格式、数据加密等多个方面的知识。
三、API接口的请求方式
1. GET方法
GET方法是最常见的一种API请求方式,它的作用是向指定资源发出请求并返回实体主体内容。比如:当我们在浏览器中输入一个URL地址时,浏览器就会发送一个GET请求到服务器上获取相应的网页内容,可以理解为只读。
- 使用:用”?”连接,多个参数间用”&”连接(URL末尾;
- 应用场景:eg:请求数据:查询,菜单列表,搜索等数据的请求;
- 特点:数据量较小,返回速度快,接口暴露在外,存在风险。
2. POST方法
POST方法是向指定资源提交数据进行处理请求,它通常用于提交表单、上传文件等操作。比如:当我们在网站上填写表单并点击提交按钮时,浏览器就会将表单数据以POST请求的方式发送到服务器上进行处理,可以理解为创建。
- 使用:特定地方(提交、上传的地方)提交数据来进行请求;
- 应用场景:eg:注册、上传、等功能;
- 特点:请求数据量大,安全性要求高。
3. PUT方法
PUT方法是向指定资源位置上上传其最新内容的操作,它通常用于更新已有的资源信息。比如:当我们在网站上编辑一篇文章并保存时,服务器就会将最新的文章内容以PUT请求的方式覆盖原有的文章信息,可以理解为修改。
4. DELETE方法
DELETE方法是请求服务器删除request-URL所标示的资源的操作,它通常用于删除指定的页面或者资源。比如:当我们在浏览器中打开一个错误的页面时,我们可以点击浏览器上的“刷新”按钮或者按下“Delete”键来请求服务器删除该页面。
5. OPTIONS方法
OPTIONS方法是HTTP协议中的一个预检请求方法,它用于获取目标资源的通信选项等信息。比如:当我们在浏览器中打开一个跨域资源共享(CORS)的网页时,浏览器会先发送一个OPTIONS请求到服务器上获取该资源的允许跨域访问的信息。
6. HEAD方法
HEAD方法是HTTP协议中的一个非响应性请求方法,它用于获取目标资源的头部信息,不会返回实际的数据内容。比如:当我们在浏览器中查看一个网页的源代码时,我们可以使用浏览器上的“查看页面源代码”功能来发送一个HEAD请求到服务器上获取该网页的头部信息。
四、接口响应机制
- 同步交互:发送一个请求,需要等待返回,然后才能够发送下一个请求,需要等待,即用户行为请求成功后(如登录、支付),需要返回验证结果后,才能登录或支付成功。
- 异步交互:发送一个请求,不需要等待返回,随时可以再发送下一个请求,不需要等待,即用户行为请求成功后,系统收到请求后异步同步结果,调用方无须等待每个请求的调用结果。
五、API接口的安全机制
1.签名验证机制的实现方式和作用:API接口通常会对请求进行签名验证以确保数据的完整性和安全性。签名验证机制可以通过多种方式实现,其中最常见的是采用HMAC算法和数字证书技术。
HMAC算法是一种基于哈希函数的消息认证码算法,它可以生成一个固定长度的随机字符串作为签名值;数字证书则是一种由权威机构颁发的电子凭证,可以用来证明公钥的合法性和身份的真实性。通过签名验证机制可以有效地防止恶意攻击和数据篡改等问题的发生。
2.OAuth授权机制的实现方式和作用:OAuth授权机制是一种常用的API接口安全机制,它通过将用户的身份认证和数据访问权限分离开来来保证系统的安全性。
具体来说,OAuth授权机制包括以下几个步骤:用户向第三方应用发起授权请求;第三方应用将用户的授权信息发送给目标API接口;目标API接口根据授权信息判断用户是否有权访问该资源;如果用户有权访问该资源,则返回相应的数据内容;否则返回错误信息或者拒绝访问。通过OAuth授权机制可以有效地保护用户的隐私和数据安全。
3.SSL/TLS安全协议在API接口中的应用:SSL/TLS安全协议是一种广泛使用的网络安全协议,它可以为数据传输提供加密和认证服务。在API接口中,SSL/TLS安全协议可以用来保护数据的机密性和完整性,防止数据被窃取或者篡改。
具体来说,SSL/TLS安全协议可以通过握手协议来建立安全通道;通过对数据进行加密和解密来保证数据的机密性;通过对证书进行验证来保证数据的完整性和合法性。通过SSL/TLS安全协议的应用可以有效地提高API接口的安全性和可靠性。
以上3种API的安全机制都是基于在不同的业务场景中使用,通俗来讲,就是谁可以访问这个接口,通过什么样的方式访问,访问的权限范围有哪些。差异在于不同安全机制的成本和身份验证的方式不同(对应的要求不同)。
举个简单例子,你想进一个相对不那么封闭的场所,只需要和里面认识的人打个招呼,就会放你进去。但是像坐飞机这样对身份识别要求比较高的“场所”,需要你有相关的证件(身份公证)才能进入,以及你登机之后由于你的身份是乘客你只能在客舱,是不能进入驾驶舱操纵飞机。
六、API接口速率限制
我们要考虑的最后一种安全机制是用来防御恶意或偶然的DoS攻击,确保可用性的机制。DoS攻击的原理是发送大量合法请求,导致API需要的资源被耗尽。这些资源包括CPU时间、内存和磁盘使用率、电源等。
通过向API中注入大量的虚假请求,这些资源将全部被用于服务这些请求,而无暇顾及其他。除了发送大量的请求外,攻击者还可能发送消耗大量内存的超大请求,或者发送慢速请求,这些都会导致资源长时间被占用,并且恶意用户不需要花费太多精力。
抵御这些攻击的关键是要能识别出一个客户端(或一组客户端)使用的资源(时间、内存、连接数等)超过了它的合理份额。通过限制用户可使用的资源,就可以降低这种攻击风险。一旦用户通过身份验证,应用程序就可以强制为用户指定配额(quota)资源,限制他们可以执行的操作。
比如,你可以限制每个用户每小时只能发送一定数量的API请求,防止他们发送大量的请求来冲击系统。采用计费的方式来限制用户请求,既有商业目的,也有安全方面的考量。
七、API接口文档
前面讲到的关于接口的请求方式、类型、原理、安全机制等,产品经理能够简单了解一些就可以满足日常工作中的需要。接口文档是产品经理日常工作中经常会使用到的,特别是做开放平台或B端的产品经理,需要经常的看和写接口文档。
那如何看接口文档呢?首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。比如淘宝开放平台、微信开放平台等等,需要获取淘宝订单或者使用微信支付,不需要自己开发对应的工具,可以调用对方的开放接口。
接口文档一般包含三个部分,即接口说明(签名获取方法、访问频率和并发、错误码)、接口参数(包括请求参数和返回参数)以及接口代码示例。
其次,是要明确自身的业务需求,需要通过外部接口获取什么能力,具体到需要什么参数。去供应商的开放平台找到对应的接口,查看接口返回参数是否有你想要的信息,注意一些用户个人信息参数都是加密的,还需要通过解密接口获取。
最后,如果在接口满足你诉求的之后,再去看开放平台需要获取这些接口的要求是什么,以及接口开放的权限范围,看下自己是否满足这些要求。如果不去看的话,可能会白白浪费很多调研时间。
写接口文档,接口文档的查看对象一般是研发和测试人员,所以大致内容就包括接口的使用场景、接口请求方式、错误码、接口说明等几个部分。其中接口说明分为请求参数和返回参数,请求参数包含:英文字段、字段类型、示例值、是否必填、字段说明。返回参数包含:英文字段、字段类型、示例值、字段说明。如下图:
八、总结与展望
API接口是数字化时代的重要基础设施之一,它为不同应用程序之间的集成和交互提供了强大的支持和便利。未来随着人工智能、物联网等新技术的发展和应用,API接口的作用将会越来越重要。同时,为了更好地满足用户需求和应对安全威胁,API接口的设计和使用也将面临更多的挑战和机遇。因此,我们需要不断地学习和探索新的技术和方法,以推动API接口的发展和应用。
本文由 @Glee 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
相关推荐
- 搭建一个20人的办公网络(适用于20多人的小型办公网络环境)
-
楼主有5台机上网,则需要一个8口路由器,组网方法如下:设备:1、8口路由器一台,其中8口为LAN(局域网)端口,一个WAN(广域网)端口,价格100--400元2、网线N米,这个你自己会看了:)...
- 笔记本电脑各种参数介绍(笔记本电脑各项参数新手普及知识)
-
1、CPU:这个主要取决于频率和二级缓存,频率越高、二级缓存越大,速度越快,现在的CPU有三级缓存、四级缓存等,都影响相应速度。2、内存:内存的存取速度取决于接口、颗粒数量多少与储存大小,一般来说,内...
- 汉字上面带拼音输入法下载(字上面带拼音的输入法是哪个)
-
使用手机上的拼音输入法打成汉字的方法如下:1.打开手机上的拼音输入法,在输入框中输入汉字的拼音,例如“nihao”。2.根据输入法提示的候选词,选择正确的汉字。例如,如果输入“nihao”,输...
- xpsp3安装版系统下载(windowsxpsp3安装教程)
-
xpsp3纯净版在采用微软封装部署技术的基础上,结合作者的实际工作经验,融合了许多实用的功能。它通过一键分区、一键装系统、自动装驱动、一键设定分辨率,一键填IP,一键Ghost备份(恢复)等一系列...
- 没有备份的手机数据怎么恢复
-
手机没有备份恢复数据方法如下1、使用数据线将手机与电脑连接好,在“我的电脑”中可以看到手机的盘符。 2、将手机开启USB调试模式。在手机设置中找到开发者选项,然后点击“开启USB调试模式”。 3、...
- 电脑怎么激活windows11专业版
-
win11专业版激活方法有多种,以下提供两种常用的激活方式:方法一:使用激活密钥激活。在win11桌面上右键点击“此电脑”,选择“属性”选项。进入属性页面后,点击“更改产品密钥或升级windows”。...
- 华为手机助手下载官网(华为手机助手app下载专区)
-
华为手机助手策略调整,已不支持从应用市场下载手机助手,目前华为手机助手是需要在电脑上下载或更新手机助手到最新版本,https://consumer.huawei.com/cn/support/his...
- 光纤线断了怎么接(宽带光纤线断了怎么接)
-
宽带光纤线断了可以重接,具体操作方法如下:1、光纤连接的时候要根据束管内,同色相连,同芯相连,按顺序进行连接,由大到小。一般有三种连接方法,分别是熔接、活动连接和机械连接。2、连接的时候要开剥光缆,抛...
- win7旗舰版和专业版区别(win7旗舰版跟专业版)
-
1、功能区别:Win7旗舰版比专业版多了三个功能,分别是Bitlocker、BitlockerToGo和多语言界面; 2、用途区别:旗舰版的功能是所有版本中最全最强大的,占用的系统资源,...
- 万能连接钥匙(万能wifi连接钥匙下载)
-
1、首先打开wifi万能钥匙软件,若手机没有开启WLAN,就根据软件提示打开WLAN开关;2、打开WLAN开关后,会显示附近的WiFi,如果知道密码,可点击相应WiFi后点击‘输入密码’连接;3、若不...
- 雨林木风音乐叫什么(雨林木风是啥)
-
雨林木风的创始人是陈年鑫先生。陈年鑫先生于1999年创立了雨林木风公司,其初衷是为满足中国市场对高品质、高性能电脑的需求。在陈年鑫先生的领导下,雨林木风以技术创新、产品质量和客户服务为核心价值,不断推...
- aics6序列号永久序列号(aics6破解序列号)
-
关于AICS6这个版本,虽然是比较久远的版本,但是在功能上也是十分全面和强大的,作为一名平面设计师的话,AICS6的现有的功能已经能够应付几乎所有的设计工作了……到底AICC2019的功能是不是...
- 手机可以装电脑系统吗(手机可以装电脑系统吗怎么装)
-
答题公式1:手机可以通过数据线或无线连接的方式给电脑装系统。手机安装系统需要一定的技巧和软件支持,一般需要通过数据线或无线连接的方式与电脑连接,并下载相应的软件和系统文件进行安装。对于大部分手机用户来...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
