2018年(3)
分类: 数据库开发技术
2018-07-19 15:56:11
“赛合一数据”前情提示:在阅读这篇文章之前,建议你先大概了解一下API,清楚它的工作原理。关于API定义的详细解读,你可以直接查看“赛合一数据”往期的文章进行了解,在这里我们就不做太多解释了。
简单来说,API接口的作用就是接受客户的请求并将信息传递给数据中心,待确认请求后又将数据提供给客户。所以,如果各种代码想彼此之间进行交互,网站或APP想要知道用户想要从中请求哪些内容,那么需要一个API接口来完成。每个API都有不同的职责,它们为不同的环境提供各种工作协议或执行方法。所以本篇我们就来了解各种类型的API以及它们在各种浏览器中的支持情况。
API的类型
一、Web服务API
这些API包括REST API,SOAP API,XML-RPC和JSON-RPC。最常见的是REST和SOAP,其中REST代表表述性状态转移,SOAP代表简单对象访问协议。REST API在这两者中是首选,因为它比SOAP API有优势,能够提供一套标准的协议。如:
源代码API:这些API包括接口,基于库的API和基于类的API。
硬件API:通过硬件进行通信,例如读取温度,流量,压力,湿度,类型信息等信息,这些都是在硬件API的帮助下完成的。但是,这些API独立于浏览器兼容性。
对象远程API:这些API使用远程协议,如CORBA。
基于类的API:数据和功能是围绕类来组织的,就像这些API中的面向对象语言一样。
二、WebSocket API:
在WebSocket API中,服务器不响应每个请求。一旦建立连接,它将发送事件驱动的响应,而无需等待服务器回复。当你在服务器上使用这些API进行通信或数据交换时,可能会遇到某些问题,如API无法正常工作、重定向到某个错误页面、链接被断开等。
这些问题需要我们了解API浏览器兼容性的内容。API的浏览器兼容性是指针对不同的API支持不同的浏览器。因为随着浏览器的每次升级,会同时发生各种功能的弃用。这些弃用附加了各种标签,代码和技术支持,API接口必须与它们保持同步。
REST API兼容性问题
在使用REST API时,你可能正在使用诸如GET,POST,PUT,DELETE,OPTIONS,PATCH等标准方法,但并非所有浏览器都支持这些方法。比如,如果你使用的是getUserMedia / Stream API,那么可能会遇到与IE 11,iOS Safari 10.3,Opera Mini等某些浏览器不兼容,以及Chrome 49,Samsung Internet 4等浏览器的部分兼容,因此如果使用此API可能会破坏API功能,用户请求将因通信断开而无法使用。
源代码API问题
防火墙阻止特定文件的调用。当您使用某些API时,API会通过从网络或本地机器调用它们来呈现不同的文件。有时,防火墙会阻止这些请求,极可能会遇到不兼容问题。在这种情况下,开发者需要确保每个API调用都有一个回退。其他API调用也是如此,需要开发者对每个使用的元素进行回退。
REST API和Websocket兼容性问题
跨域问题。当你尝试请求未授予访问权限的私有API或合作伙伴API时,可能会遇到交叉域源错误。如果使用类似微信、淘宝的开放API,可能不会遇到此错误。但是,如果你面临Access-Control-Allow-Origin错误,那么可能需要通过找到解决方案来解决这个问题。
源代码API兼容性问题
已弃用的SDK浏览器方法
SDK或开发者套件是程序员下载的套件使用某个API。此SDK包含程序员调用API所需的所有基本要素,并提供请求。现在,随着浏览器的每次升级,都会有各种技术被添加,有的技术都会被弃用。这些弃用的技术不包括对各种功能,工具,元素等的支持。
因此,许多元素都会改变或者被弃用。因此,开发者需要掌握最新浏览器的功能,确保没有在API中使用任何不支持的功能或元素,导致API浏览器不兼容。
所以,这是一个与API相关联的世界,开发者需要确保这些API保持连接而没有任何漏洞,需要对API做兼容性测试以确保一致性。