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的几个特性。

 

 

 

 

 

 

 

 

 

  通过上图我们来理解面向资源的几个重要组成部分、

  1. 资源:资源即使分布在网络上的设备实体(比如文本,图片,歌曲,文件,数据…)
  2. 表现层:用于展现资源的设备
  3. URI:指向网络实体资源的地址
  4. 状态转换:将无状态的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简介的更多相关文章

  1. ASP.NET Web API 简介

    ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RES ...

  2. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】

    最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...

  3. Web Api 简介

    ASP.NET Web API 简介  ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...

  4. ASP.NET WEB API构建基于REST风格

    使用ASP.NET WEB API构建基于REST风格的服务实战系列教程[开篇] 最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http ...

  5. 新作《ASP.NET Web API 2框架揭秘》正式出版

    我觉得大部分人都是“眼球动物“,他们关注的往往都是目光所及的东西.对于很多软件从业者来说,他们对看得见(具有UI界面)的应用抱有极大的热忱,但是对背后支撑整个应用的服务却显得较为冷漠.如果我们将整个“ ...

  6. ASP.NET Web API 2框架揭秘

    ASP.NET Web API 2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著   ISBN 978-7-121-23536-8 2014年7月出版 定价:108.0 ...

  7. 旅图beta版 asp.net web api 单元测试

    旅图 beta版 asp.net web api 单元测试 测试接口:http://120.27.7.115:1010/Help 测试目的 对每个接口单元进行测试,保证每个接口的可靠性. 单元描述 注 ...

  8. ASP.NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  9. [ASP.NET]谈谈REST与ASP.NET Web API

    13天的假期结束,赶紧回来充电了 本节目录 Web API简介 自我寄宿 IIS寄宿 调用Web API Web API原理 Web API简介 REST REST是“REpresentational ...

随机推荐

  1. IDEA的Database表的基本操作

    1.创建表 方法一:直接创建:右键-new-table 方法2: 参考别的表,直接用语句,右键-DDL and Sources- 然后直接在控制台修改 修改后直接运行,表就建好了 2.备份表 先用上面 ...

  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 ...

  3. Windows 10 IoT Core 17120 for Insider 版本更新

    今天,微软发布了Windows 10 IoT Core 17120 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17115,又少了两个已知的问题. 一些已知的 ...

  4. 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务)

    [源码下载] 背水一战 Windows 10 (119) - 后台任务: 后台下载任务(任务分组,组完成后触发后台任务) 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台下 ...

  5. 一次非常有趣的 SQL 优化经历

    阅读本文大概需要 6 分钟. 前言 在网上刷到一篇数据库优化的文章,自己也来研究一波. 场景 数据库版本:5.7.25 ,运行在虚拟机中. 课程表 #课程表 create table Course( ...

  6. JavaScript变量与数据类型详解

    变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. 变量的作用就是用于存储值. 语法: 声明变量时,总是以关键字var打头.任何情况下都应该这样做.然后给变 ...

  7. 深入理解java中的底层阻塞原理及实现

    谈到阻塞,相信大家都不会陌生了.阻塞的应用场景真的多得不要不要的,比如 生产-消费模式,限流统计等等.什么 ArrayBlockingQueue, LinkedBlockingQueue, Delay ...

  8. editormd实现Markdown编辑器写文章功能

    想在项目里引入Markdown编辑器实现写文章功能,网上找到一款开源的插件editormd.js 介绍网站:https://pandao.github.io/editor.md/examples/in ...

  9. knn算法的c语言实现

    最近研究KNN,找到了一些优秀的源码,贴出来,做个笔记吧. #include<stdio.h> #include<stdlib.h> #include<math.h> ...

  10. 内存管理-buddy[代码]

    基于2.6.32内核源码分析 首选内存区和gfp描述符关系运算 64位系统默认没有开启CONFIG_HIGHMEM选项,因此只有4个内存区DMA(0),DMA32(1),NORMAL(2),MOVAB ...