The follow content refer refers to:

  • Baidu Baike                  : https://baike.baidu.com/item/api/10154
  • ZHihu - Enthusiasm      : https://www.zhihu.com/question/21430743/answer/456199910

  • Web API 强势入门指南 : http://www.cnblogs.com/guyun/p/4589115.html


API . web(应用程序编程接口.web)

Define:

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

Kind:

  • Windows API
  • Linux API

Open platform:

  开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web 2.0的浪潮到来之前,开放的API 甚至源代码主要体现在桌面应用上,而现在越来越多的Web应用面向开发者开放了API。

Explain: 

  通俗来讲,比如书当你喝水的时候,你只需要打开水龙头,拿一个杯子去接就可以了。你根本不用关心水龙头的水是从哪里来的,经历过怎样的净化,加多少压强等等细节,你只需要学会如何去“调用水龙头”也就是学会“使用水龙头”这一简单的动作,就可以完成你想要完成的功能——喝水,你不需要学习更加专业的知识(给排水专业学的)。
  再比如,你要用电给手机充电。你需要自己去找发电机去发电吗?你需要自己研究一个变压器调节合适电压吗?你需要自己去布一根传输线吗?你需要自己去发明一种插头吗?你需要自己去规范一种充电标准吗?等等复杂而又专业的问题,统统都已经完成了。你只需要学会如何“使用插头”,也就是“把插头插进插槽”这一简单动作,就可以实现用电了。可以这么说,你学会了这一简单动作,我可以说你已经学会了如何去使用 EUI(electric using interface)用电接口,去完成你想要完成的功能了。

 

The Reason why we use Web API and where we use:

  Web API最重要的是可以构建面向各种客户端的服务。另外与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。

  

  当遇到以下这些情况的时候,就可以考虑使用Web API了。

  • 需要Web Service但是不需要SOAP
  • 需要在已有的WCF服务基础上建立non-soap-based http服务
  • 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置
  • 发布的服务可能会被带宽受限的设备访问
  • 希望使用开源框架,关键时候可以自己调试或者自定义一下框架

Function:

  1. 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。
  2. 请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。
  3. 原生支持OData。
  4. 支持Self-host或者IIS host。
  5. 支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。
  6. 请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept header来与服务器协商格式,例如你希望服务器返回JSON格式还是XML格式。

Popular API:

  高德地图JS API : https://lbs.amap.com/api/javascript-api/summary

   

API & Web API的更多相关文章

  1. [Web API] Web API 2 深入系列(7) Model绑定(下)

    目录 ModelBinder ModelBinderProvider 不同类型的Model绑定 简单类型 复杂类型 其他类型 ModelBinder ModelBinder是Model绑定的核心. p ...

  2. [Web API] Web API 2 深入系列(6) Model绑定(上)

    目录 解决什么问题 Model元数据解析 复杂类型 ValueProvider ValueProviderFactory 解决什么问题 Model: Action方法上的参数 Model绑定: 对Ac ...

  3. [Web API] Web API 2 深入系列(3) 激活HttpController

    目录 HttpController 创建HttpController IAssembliesResolver IHttpControllerTypeResolver HttpControllerTyp ...

  4. [Web API] Web API 2 深入系列(2) 消息管道

    目录 HttpMessageHandler Web Host模式处理过程 Self Host模式处理过程 HttpMessageHandler Web API处理管道由一系列HttpMessageHa ...

  5. [Web API] Web API 2 深入系列(1) 路由

    目录 ASP.NET 路由 注册路由 动态映射HttpHandler WebAPI 路由 注册路由 调用GetRouteData 2个路由系统衔接 GlobalConfiguration Hosted ...

  6. RESTful API/Web API

    Microsoft REST API Guidelines Are Not RESTful White House Web API Standards Microsoft REST API Guide ...

  7. [Web API] Web API 2 深入系列(5) 特性路由

    目录 1. 特性路由注册 2. 路由解析 - 生成DataTokens - 选择HttpController - 选择Action 特性路由的目的在于更好的提供restful架构的接口,最近好忙(懒) ...

  8. [Web API] Web API 2 深入系列(4) Action的选择

    目录 ApiController HttpActionDescriptor IHttpActionSelector ApiController 在上节中,讲到如何选择并激活对应的IHttpContro ...

  9. Web API 强势入门指南

    Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET Web API. 这篇文章中我们主要介绍Web API的主要功能以及与其他同类型框架的对比,最后通过一些相对复杂的实例 ...

随机推荐

  1. Netty 之 Netty生产级的心跳和重连机制

    https://blog.csdn.net/z69183787/article/details/52625095 最近工作比较忙,但闲暇之余还是看了阿里的冯家春(fengjiachun)的github ...

  2. 2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析 实验过程 一.系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一 ...

  3. Go 学习资料

    Go 学习资料 网址 Go 中文版 http://docscn.studygolang.com/ Go 语言教程(菜鸟教程) http://www.runoob.com/go/go-tutorial. ...

  4. 【DevExpress】GridView的RowClick事件禁用Checkbox选择的解决办法

    添加GridView的RowCellClick事件,代码如下 private void gvBoxMails_RowCellClick(object sender, DevExpress.XtraGr ...

  5. Linux基础入门-文件系统操作与磁盘管理

    一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...

  6. 安装owncloud出现:Error while trying to create admin user: An exception occurred while executing

    安装owncloud出现:Error while trying to create admin user: An exception occurred while executing 1.安装ownc ...

  7. volatile和不加volatile的区别

    http://blog.chinaunix.net/uid-25100840-id-3067899.html 对于一个地址,如果加上了volatile参数,这个地址也就不会经过编译器优化,也就是说这个 ...

  8. Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本

    Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本   目录 问题描述 修改系统时间 安装新版本 下载 安装 回到顶部 问题描述 今天上线一个服务,上完准备看下OPS的发布结果,就 ...

  9. ORACLE数据库自动备份压缩的批处理脚本 rar 7z

    使用7z的版本: @echo offset filename="d:\backup\dbname_%date:~0,10%"set zipfile="d:\backup\ ...

  10. ES - dynamic field mapping

    Dynamic field mapping 1.我们向es提交一个json对象进行索引,es会对json字段和索引字段进行字段类型适配. 规则如下: 2.string字段的转换规则 当date det ...