接口编程中,为什么只用get和post?
对于软件开发行业而言离不开接口(API)的存在,开发人员肯定用过第三方的API也曾自己写过API给其它人调用。就现在而言,API基本上都是Web API形式,而API请求方式以GET和POST居多。但要说接口编程只用GET和POST,这种观点就是错误的!
Web API是当前主流的接口形式
我们常说的“接口”其实是指应用程序接口,也就是API。API将某种业务功能封装起来便于第三方调用,任何一门编程语言都可以用来开发API接口,而API接口的形式众多,较常见的有:
1、基于HTTP协议的Web API
基于HTTP协议的API现在应用最广,因为这类API是跨平台跨语言的,看上去就和URL差不多。当下流行的RESTful API其实也属于Web API,通过HTTP动词(GET、POST、DELETE、PUT等)来表达不同类型的请求。
2、RPC 接口
RPC指的是远程过程调用,本质上是“客户端/服务器端”模式(C/S模式),通过RPC技术可以让调用方像调用本地方法一样快捷的调用远程服务器上的方法。
RPC类接口也支持多种协议(如:HTTP、TCP、UDP、或自定义协议),数据传输方式也是多种多样的(最常用的是 Json、Binary、Protobuf )。
3、Web Service 概念类接口
Web Service 其实并不是特指某一个技术,而是一类以Web形式提供的服务都可以称之为Web Service,像上面说的Web API、RESTful、SOAP等都属于Web Service范畴。
为什么Web API最常用的请求类型是GET和POST?
的确,Web API请求时最常用的请求类型(HTTP动词)是GET、POST。在RESTful风格推出之前,我们的接口传参是少数的一般用GET请求,参数较多的就用POST请求。
但随着RESTful风格推出后,我们是用不同的HTTP动词来代表不同的请求,如:
-
GET:获取资源
-
POST:创建资源
-
PUT:更新资源
-
DELETE:删除资源
但为什么感觉GET和POST居多呢?原因有以下几点: