ASP.NET WEB API简介
ASP.NET WEB API是基于.NET Framework用来构建Restful软件架构的框架,它是基于HTTP协议。Http不只是能够生成我们常见的web页面,它更是能够建立服务和面向资源的平台。使用HTTP协议建立的服务更加的轻量级,更加的简洁。不同的客户端可以更加无缝的使用服务。为了理解为什么要使用WEB API,首先要理解的一个概念就是Restful。
Restful
Restful是一种面向资源的软件架构,Rest的全文是Representational State Transfer,即表现层状态转换。这样的字面意义对于我们理解Rest不是很容易,下面,我们使用比较通俗的方式来理解面向资源。在我们日常使用计算设备时,实际上,计算设备无时无刻不在与另外一台设备通信,比如QQ,微信等等,我们不断的从一台设备上获取数据,提交数据,更新数据,删除数据。这里的数据不单单是指数字和文本,更包括图片,文件等等。这种通信方式称为分布式通信。设备在端口的某一处公开一系列的操作供其他设备使用。这些操作就是服务。我们通过调用设备公开的服务,完成相关的操作并在必要的时候返回数据。然而,不管是使用哪种方式实现服务。客户端使用服务都是重量级的,繁琐的。因为客户端要为访问这些服务建立代理,并通过代理来与服务端设备通信。而对于一些比较轻量级的通信,面向服务显然增加了开发的复杂性。REST 是一种轻量级的面向服务架构风格,其实现和操作比面向服务更为简洁,可以利用 HTTP 协议实现在响应速度,性能、效率和易用性上都优于面向服务的软件架构。
Representational State Transfer(表现层状态转换)实际上可以看做是表现层资源状态转换,下面我们使用一张图来说明Rest的几个特性。

通过上图我们来理解面向资源的几个重要组成部分、
- 资源:资源即使分布在网络上的设备实体(比如文本,图片,歌曲,文件,数据…)
- 表现层:用于展现资源的设备
- URI:指向网络实体资源的地址
- 状态转换:将无状态的HTTP协议通过表现层展示状态
在上图中,网络中的一个服务器集群通过地址http://127.0.0.1/xxx向外部公开资源。智能设备A,B,C(可以是PC,可以是IOS设备,可以是安卓设备)通过HTTP协议访问服务器公开的地址。服务器回返回资源给客户端(此处是json)。客户端获取json并组装数据,转换状态呈现给最终用户。整个访问完成。Rest可以使用的HTTP动作是Get,Post,Put,Delete。对于面向资源的服务,客户端的访问更加的简洁与高效,并且不需要设置代理,任何平台都可以直接使用获取的资源。而不需要针对某一个具体的平台做特殊处理。那么,对于面向资源的服务,不同平台的使用更加简洁。不同平台的客户端只需要关注表现层,这个也遵守了软件架构中的分离关注点原则。
上面简短的解释了面向资源的服务,下面的章节,我们来看看ASP.NET WEB API怎么实现面向资源的服务
ASP.NET WEB API实现面向资源的服务
ASP.NET WEB API简介的更多相关文章
- ASP.NET Web API 简介
ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RES ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】
最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...
- Web Api 简介
ASP.NET Web API 简介 ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...
- ASP.NET WEB API构建基于REST风格
使用ASP.NET WEB API构建基于REST风格的服务实战系列教程[开篇] 最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http ...
- 新作《ASP.NET Web API 2框架揭秘》正式出版
我觉得大部分人都是“眼球动物“,他们关注的往往都是目光所及的东西.对于很多软件从业者来说,他们对看得见(具有UI界面)的应用抱有极大的热忱,但是对背后支撑整个应用的服务却显得较为冷漠.如果我们将整个“ ...
- ASP.NET Web API 2框架揭秘
ASP.NET Web API 2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著 ISBN 978-7-121-23536-8 2014年7月出版 定价:108.0 ...
- 旅图beta版 asp.net web api 单元测试
旅图 beta版 asp.net web api 单元测试 测试接口:http://120.27.7.115:1010/Help 测试目的 对每个接口单元进行测试,保证每个接口的可靠性. 单元描述 注 ...
- ASP.NET Web API系列教程目录
ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...
- [ASP.NET]谈谈REST与ASP.NET Web API
13天的假期结束,赶紧回来充电了 本节目录 Web API简介 自我寄宿 IIS寄宿 调用Web API Web API原理 Web API简介 REST REST是“REpresentational ...
随机推荐
- IDEA的Database表的基本操作
1.创建表 方法一:直接创建:右键-new-table 方法2: 参考别的表,直接用语句,右键-DDL and Sources- 然后直接在控制台修改 修改后直接运行,表就建好了 2.备份表 先用上面 ...
- [转]Examining Open vSwitch Traffic Patterns
In this post, I want to provide some additional insight on how the use of Open vSwitch (OVS) affects ...
- Windows 10 IoT Core 17120 for Insider 版本更新
今天,微软发布了Windows 10 IoT Core 17120 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17115,又少了两个已知的问题. 一些已知的 ...
- 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务)
[源码下载] 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务) 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台下 ...
- 一次非常有趣的 SQL 优化经历
阅读本文大概需要 6 分钟. 前言 在网上刷到一篇数据库优化的文章,自己也来研究一波. 场景 数据库版本:5.7.25 ,运行在虚拟机中. 课程表 #课程表 create table Course( ...
- JavaScript变量与数据类型详解
变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. 变量的作用就是用于存储值. 语法: 声明变量时,总是以关键字var打头.任何情况下都应该这样做.然后给变 ...
- 深入理解java中的底层阻塞原理及实现
谈到阻塞,相信大家都不会陌生了.阻塞的应用场景真的多得不要不要的,比如 生产-消费模式,限流统计等等.什么 ArrayBlockingQueue, LinkedBlockingQueue, Delay ...
- editormd实现Markdown编辑器写文章功能
想在项目里引入Markdown编辑器实现写文章功能,网上找到一款开源的插件editormd.js 介绍网站:https://pandao.github.io/editor.md/examples/in ...
- knn算法的c语言实现
最近研究KNN,找到了一些优秀的源码,贴出来,做个笔记吧. #include<stdio.h> #include<stdlib.h> #include<math.h> ...
- 内存管理-buddy[代码]
基于2.6.32内核源码分析 首选内存区和gfp描述符关系运算 64位系统默认没有开启CONFIG_HIGHMEM选项,因此只有4个内存区DMA(0),DMA32(1),NORMAL(2),MOVAB ...