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. flask-文件上传

    flask文件上传 流程 1. 上传的文件request.files拿取 2. 可以通过WTForms表单验证 3. 通过secure_filename (from werkzeug.utils im ...

  2. IDEA安装插件提示was not installed: Cannot download解决办法

    打开settings->system settings->updata,把下面的Use secure Connetion去掉

  3. 更改了ssh文件下,还没有权限

    执行 cd /root/.ssh chmod 600 id_*

  4. PaaS平台的尴尬与变革

    当今时代只要提到云计算这个词语,一定会提到云计算分为IaaS.PaaS.SaaS 这三个层面,现阶段云环境中IaaS和SaaS都实现了商品化.但是,PaaS作为云计算的服务模式之一,既不像IaaS那样 ...

  5. 转载----开发者大杀器 —— 刨根问底,揪出 Android App 耗电的元凶代码

    转载文章地址:http://www.jianshu.com/p/27ba2759b221

  6. 《http权威指南》读书笔记17

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  7. Cloud-Platform部署学习

    1. Cloud-Platform部署学习 1.1. 介绍 Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,核心技术采用Spring Boot2以及Spring C ...

  8. deepin卸载mysql并安装设置mysql5.7

    mysql完全卸载以及安全安装 完全卸载 sudo apt purge mysql-* sudo rm -rf /etc/mysql/ /var/lib/mysql sudo apt autoremo ...

  9. 剑指offer【07】- 斐波那契数列(java)

    题目:斐波那契数列 考点:递归和循环 题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0),n<=39. 法一:递归法,不过递归比较慢, ...

  10. sql server 性能调优之 资源等待 CXPACKET

    一.概述  CXPACKET是指:线程正在等待彼此完成并行处理.什么意思呢? 当sql server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步 ...