Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4720
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 25
  • 用 户 组: 普通用户
  • 注册时间: 2018-07-13 16:40
文章分类
文章存档

2018年(3)

我的朋友
最近访客

分类: 数据库开发技术

2018-07-19 15:56:11

“赛合一数据”前情提示:在阅读这篇文章之前,建议你先大概了解一下API,清楚它的工作原理。关于API定义的详细解读,你可以直接查看“赛合一数据”往期的文章进行了解,在这里我们就不做太多解释了。

 

简单来说,API接口的作用就是接受客户的请求并将信息传递给数据中心,待确认请求后又将数据提供给客户。所以,如果各种代码想彼此之间进行交互,网站或APP想要知道用户想要从中请求哪些内容,那么需要一个API接口来完成。每个API都有不同的职责,它们为不同的环境提供各种工作协议或执行方法。所以本篇我们就来了解各种类型的API以及它们在各种浏览器中的支持情况。



API的类型


一、Web服务API


这些API包括REST APISOAP APIXML-RPCJSON-RPC。最常见的是RESTSOAP,其中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时,你可能正在使用诸如GETPOSTPUTDELETEOPTIONSPATCH等标准方法,但并非所有浏览器都支持这些方法。比如,如果你使用的是getUserMedia / Stream API,那么可能会遇到与IE 11iOS Safari 10.3Opera Mini等某些浏览器不兼容,以及Chrome 49Samsung Internet 4等浏览器的部分兼容,因此如果使用此API可能会破坏API功能,用户请求将因通信断开而无法使用。


源代码API问题


防火墙阻止特定文件的调用。当您使用某些API时,API会通过从网络或本地机器调用它们来呈现不同的文件。有时,防火墙会阻止这些请求,极可能会遇到不兼容问题。在这种情况下,开发者需要确保每个API调用都有一个回退。其他API调用也是如此,需要开发者对每个使用的元素进行回退。



REST APIWebsocket兼容性问题


跨域问题。当你尝试请求未授予访问权限的私有API或合作伙伴API时,可能会遇到交叉域源错误。如果使用类似微信、淘宝的开放API,可能不会遇到此错误。但是,如果你面临Access-Control-Allow-Origin错误,那么可能需要通过找到解决方案来解决这个问题。



源代码API兼容性问题


已弃用的SDK浏览器方法


SDK或开发者套件是程序员下载的套件使用某个API。此SDK包含程序员调用API所需的所有基本要素,并提供请求。现在,随着浏览器的每次升级,都会有各种技术被添加,有的技术都会被弃用。这些弃用的技术不包括对各种功能,工具,元素等的支持。


因此,许多元素都会改变或者被弃用。因此,开发者需要掌握最新浏览器的功能,确保没有在API中使用任何不支持的功能或元素,导致API浏览器不兼容。


所以,这是一个与API相关联的世界,开发者需要确保这些API保持连接而没有任何漏洞,需要对API做兼容性测试以确保一致性。

阅读(822) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~