什么是Web API

HTTP不仅仅服务于Web Pages。他也是一个创建展示服务和数据的API的强大平台。HTTP是简单的,灵活的,无处不在的。你能够想象到几乎任何的平台都会有HTTP服务库。HTTP服务可以涉及到范围广泛的客户端,包括浏览器,各种移动设备和传统桌面应用程序。而Web API是提供了一套RestfulAPI的开发框架,它提供了较为完整的http语义支持。

Web API 与MVC 的区别

    1.使用区别

           MVC主要用于Web站点开发,它在后端实现了一套完整的MVC开发框架,能提供方便的页面开发,提供给了后端Html构成,用户可以方便的开发出带页面的站点

Web API主要用于做开放API接口,更抽象,更不注重VIew生成

2.自身实现区别

两种框架主要使在Asp.Net的基础上进行改造,主要是对HttpModule和HttpHandler做了扩展。

MVC像是在一层上建立了第二层,引伸出更大的路由机制,实现了诸如MvcHandlerControllerFactory这种消息处理和后台控制器方法选择机制。而Web API除了扩展前者外,另外写出了一套独立的,独立于Asp.Net的消息处理管道,就像借鉴了原来的房子模型,重新设计出了另一套别墅,这也很好的解释了为什么Web API可以寄宿在不同的宿主上(宿主本质就是利用一个具体的一个用程序为Web API提供给一个可运行的环境,并解决请求的接收和响应的回复),如 Web Host,Self Host方式,这与WCF相似。而MVC只能寄宿与IIS上(不考虑.net core),就像WebForm的寄宿方式。何况它们两者虽然都有Controller和Action,但是请求的实现和响应的回复机制也是不同的,比如Web API处理消息的两个核心类是HttpRequestMessage和HttpResponseMessage。这两种框架最多只能说模式上相似,实现还有有很大区别。

最新文章

  1. matlab 采样函数
  2. 使用TCMalloc的堆栈检查
  3. 向列布局动态添加F7
  4. AjaxControlToolKit--TabContainer控件的介绍
  5. 蓝牙BLE LINK LAYER剖析(一) -- status and channel
  6. jQuery - AJAX (keep for myself)
  7. Hadoop伪分布配置与基于Eclipse开发环境搭建
  8. Eclipse安装ADT失败解决办法
  9. Unity3D RPC调用顺序问题
  10. 会员登录HTML
  11. 将某个日期字符串转换为java.sql.Date的类型
  12. Selenium自动化测试之学会元素定位
  13. golang 中string和int类型相互转换
  14. Hive的初识
  15. Flutter环境搭建
  16. 吴恩达机器学习笔记18-多类别分类:一对多(Multiclass Classification_ One-vs-all)
  17. Win32文件系统编程
  18. 【css】怎么让Chrome支持小于12px 的文字
  19. PHP7语法知识(一):语言基础
  20. JQuery函数大全

热门文章

  1. File I/O
  2. radis学习总结
  3. 学习cordic算法所得(流水线结构、Verilog标准)
  4. 最全的iOS数据存储方法
  5. Vue.js简单的应用
  6. linux 查看cpu个数,内存情况,系统版本
  7. weakSelf 和 strongSelf
  8. 51Nod 1001 数组中和等于K的数对 Set
  9. 常量和静态变量会先载入内存后在进行执行php代码
  10. JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)