【校招VIP】API简介

05月19日 收藏 0 评论 0 前端开发

【校招VIP】API简介

转载声明:文章来源https://blog.csdn.net/hwhsong/article/details/103810443

API的概念

API(Application Programming Interface, 应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。

API的特点

API是一个明确定义的接口,可以为其他软件提供特定服务。

API可以小到只包含一个单独的函数,也可以大到包含数以百计的类、方法、全局函数、数据类型、枚举类型和常量等。

API的实现可以是私有的,也可以是开源的。

API的分类

面向对象语言的API,如Java API列表

库与框架的API,如Windows API、Windows DirectX

API与协议,如LDAP应用程序接口

API与设备接口,如PC BIOS调用接口、ASPI for SCSI设备接口

Web API,如百度地图API、新浪微博API、阿里云API市场

为什么要使用API

快速扩展功能

避免“造轮子”,提高开发效率

降低模块之间的耦合度

Web API协议

Web API一般采用HTTP作为底层协议,HTTP请求机制如下:

客户端向服务器发送一个请求

服务器给客户端一个响应,告诉客户端是否可以完成它请求的工作

客户端和服务器可以采用不同的编程语言平台

 

HTTP请求包含的内容

为了构造有效的请求,客户端需要包含4部分内容:

请求地址 URL

请求方式 Method

请求头 Headers

请求主体 Body

请求头和请求主体

请求头Headers提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间和请求主体大小、身份认证等信息。

请求主体Body包含了客户端希望发送给服务器的数据。

返回的状态码

2xx 请求成功

4xx 业务报错,一般为参数错误、签名错误、请求方式错误等

5xx 服务不可用或服务器内部错误

返回的数据格式

XML

JSON 一种轻量级的数据交换格式,采用完全独立于语言的文本格式,同时易于解析和生成,是大多数API采用的返回数据格式。

API和SDK的区别

定义的范围:

API是一个个具体的函数,一个确定的功能,一个获取后端数据的通道。

SDK是辅助开发某类软件的相关文档、范例和工具的集合。

封装的形式:

API是封装在服务端层面的Library,从网络服务的层面暴露出接口供调用,与编程语言实现无关。

SDK是封装在客户端层面的Library,提供一些客户端API接口,SDK暴露出来的接口是和编程语言相关的。

以更形象的方式解释一下:

你想提取公积金,于是你公司的HR告诉你,你需要去找一个能办理公积金业务的银行。这里的能办理公积金业务代表一种能力,一种API。如果一个银行具有办理公积金业务的能力,那么就说这个银行具有这种API。而这个银行呢,它就是一个SDK,它提供办理公积金的能力,所有细节,并且,它还可能给你提供额外的功能,例如免费复印身份证复印件的功能。

C 0条回复 评论

帖子还没人回复快来抢沙发