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 ...
随机推荐
- uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码
项目介绍 二次开发 uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码,修复自带工具画面有动态加载时截图失败问题,优化自带工具截图速度 ,实现类似录制脚本功能 ...
- L'opzione di luce del puntatore laser
Prima di tutto, sono di buone dimensioni, non i 'mini' puntatori laser che altri stanno vendendo. È ...
- Spark Programming--- Shuffle operations
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 数值计算 的bug:(理论)数学上等价,实际运行未必等价
1. 计算表达式的值(lambda 表达式) fun1 和 fun2 理论上是等价的:同样的输入情形下,两种输出结果不一致. # fun1 定义 fun1=lambda x:sqrt(x+1)-sqr ...
- VMware虚拟机磁盘操作占用过高问题
使用虚拟机运行Linux图形桌面时,经常因为一个网页或者编译某个程序就导致虚拟机卡死,甚至影响主机使用.明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿.打开主机上的任务管理器查看发现磁 ...
- maven安装和四大特性
一.安装配置maven 官网下载:http://maven.apache.org/download.html 1:解压后放在一个固定的位置 2:配置环境变量,具体如下 新建系统环境变量:MAVEN_H ...
- JDK设计模式之—单例模式和static关键字
首先了解static 关键字 static声明的方法是静态方法,static声明的成员变量为静态成员变量.对于该类的所有对象来说,static的成员变量和static只有一份存储空间 即使没有创建该类 ...
- 简单读!spring-mvc源码之url的暴露之路
spring中,注册controller的url有多种方式: 1. 你可以啥都不都干,直接使用 @RequestMapping 注解上体路径,然后加上 <component-scan>, ...
- 软件测试人员需要掌握的linux命令(二)
2 设备管理 2.1 mount 名称 : mount 使用权限 : 系统管理者或/etc/fstab中允许的使用者 使用方式 : mount [-hV] mount [-fnrsvw] [-t vf ...
- Mybatis Cause: java.lang.ClassNotFoundException: Cannot find class:
MyBatis原因:java.lang.ClassNotFoundException:找不到类. 原因你的xml文件中的返回类型错误,没有找到这个类. 检查类名是否正确,检查路径是否正确. 在复制my ...