rest软件架构

REST 入门介绍

痴心易碎 提交于 2019-12-30 22:06:21
dudu的 HttpClient + ASP.NET Web API, WCF之外的另一个选择 讨论的人很多,说明RESTful API也开始在.NET 社区中得到重视,其中的回复有很多对REST不正确的观点。 REST (REpresentational State Transfer)的概念提出已超过10年,不知不觉间已成当今设计开放式API的主流。或许大家手边的.NET系统整合都还是使用WCF(甚至Web Service)进行跨主机沟通,但是当微软在ASP.NET MVC 4 Beta里也开始 推广 REST架构的 ASP.NET Web API 。如果没有先了解 RESTful,那接下去的内容还真有点硬,像是专业名词,例如,你在 ASP.NET Web API 文件中可以看到大量的 Resource (资源) 这个单字,URI 我还能理解,跟 Resource 有什么关系? 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。 深入浅出REST InfoQ的专文介绍,文中甚至有Roy T.

关于Web Service和Rest Service理解

廉价感情. 提交于 2019-12-22 19:25:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么是WebService? 且看百度百科是如何定义: Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 从定义中可以了解, WebService 主要具备三大特点:平台独立性,松耦合、自包含,分布式互操作。 首先,能称为Web Service的应用,具备平台独立性,所谓平台独立性,在Windows、Linux、Unix平台等等都可以使用,是大家遵守的行业标准或者是某些事实标准,有些虽然不是行业标准,但大家都这么做,也都支持,也就慢慢变成事实了。 那什么不是通用的解决方案呢?如:Windows平台的COM/DCOM技术,只能局限于某个平台,一旦脱离该平台就不可以使用。 基次,具备Web Service应用程序,是松耦合的,自包含的。所谓松耦合,即模块之间的依赖型和制约比较小,更改一个模块不会比较大的影响其他模块,说白了,不用关心模块内部是如何实现的,给你标准的接口,你用大家都用的技术与我互通即可。关于自包含的理解,指在组件重用时不需要包含其他的可重用组件,自己搞掂一切,呵呵。 再次,分布式互操作性,这点大家非常好理解,开发出来的应用,要具备与其它系统之间的互操作

理解RESTful 架构

戏子无情 提交于 2019-12-18 00:26:33
REST是所有Web应用都应该遵守的架构设计指导原则。 Representational State Transfer,翻译是”表现层状态转化”。 面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS) 什么是RESTful API? 符合REST架构设计的API。 总结 符合REST设计标准的API,即RESTful API。REST架构设计,遵循的各项标准和准则,就是HTTP协议的表现,换句话说,HTTP协议就是属于REST架构的设计模式。比如,无状态,请求-响应。。。 参考: 理解本身的REST架构风格 http://www.infoq.com/cn/articles/understanding-restful-style/ 理解RESTful架构 http://www.ruanyifeng.com/blog/2011/09/restful.html Restful API设计指南 http://www.ruanyifeng.com/blog/2014/05/restful_api.html 二

REST API

烈酒焚心 提交于 2019-12-07 06:36:25
目录 什么是REST API? HTTP方法 URL设计 服务器回应 优点 什么是REST API? REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 HTTP方法 以下为 REST 基本架构的四个方法: GET - 用于获取数据 PUT - 用于更新或添加数据 DELETE - 用于删除数据 POST - 用于添加数据 URL设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如, GET /articles 这个命令, GET 是动词, /articles 是宾语。 动词通常就是五种 HTTP 方法,对应 CRUD 操作。 GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新 DELETE:删除(Delete) 根据 HTTP 规范,动词一律大写。 1.2 动词的覆盖 有些客户端只能使用 GET 和 POST 这两种方法。服务器必须接受 POST 模拟其他三个方法( PUT 、 PATCH 、 DELETE )。 这时

rest .soap 和xml-RPC 简单描述

左心房为你撑大大i 提交于 2019-12-06 00:53:30
REST、SOAP和XML-RPC简单描述! 目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。 XML-RPC慢慢的被SOAP开发方式所取代,还有它是有版权的! REST: 表征状态转移 (英文: Representational State Transfer ,简称 REST ),采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 来抽象所有 Web 系统的服务能力,他是一种软件架构风格. 它是一种针对网络应用的 开发方式 ,可以降低开发的复杂性,提高系统的可伸缩性。 REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。 SOAP:简单对象访问协议 (Simple Object Access Protocol)是一种标准化的通讯规范,主要用于Web服务(web service)中。用一个简单的例子来说明 SOAP 使用过程,一个 SOAP 消息可以发送到一个具有 Web Service 功能的 Web 站点,例如,一个含有房价信息的数据库,消息的参数中标明这是一个查询消息,此站点将返回一个 XML 格式的信息,其中包含了查询结果(价格,位置,特点,或者其他信息)

什么是Django REST framework

笑着哭i 提交于 2019-12-06 00:25:10
一直在说 Django REST framework ,那它到底是什么,你是怎么理解的呢?我查了一些资料,对Django REST framework有了一些粗浅的理解,记录下来。(通常简称Django REST framework为DRF框架)。 ☞ github链接 。 从字面理解开始 仅从字面意思理解的话,Django和framework指的是Django,框架。那REST呢? REST是Representational State Transfer的简称,中文翻译为“表现层状态转化”,REST与技术无关,代表的是一种软件架构风格,遵循REST的架构风格,称为RESTful。 REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。 他在介绍他的论文时说到: “网络研究主要关注系统之间通信行为的细节、如何改进特定通信机制的表现,常常忽视了一个事实,那就是改变应用程序的互动风格比改变互动协议,对整体表现有更大的影响。我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。” Fielding将他对互联网软件的架构原则,定名为REST,即Representational State Transfer的缩写。 如果我把rest译为:使人轻松的,让人得到休息的

Django Rest framework实现流程

情到浓时终转凉″ 提交于 2019-12-06 00:16:42
写的非常好的文章,解析的很透彻,为作者打call!!建议大家仔细阅读 原文链接: https://www.cnblogs.com/eric_yi/p/8422373.html Django Rest framework实现流程 目录 一 什么是restful架构 二 Django REST framework简介 三 Django REST framework原理 四 Django REST framework源码流程 五 Django REST framework实现用户登录 一 什么是restful架构 这里结合阮一峰的博客看看就更完美了 http://www.ruanyifeng.com/blog/2011/09/restful.html 1、起源 REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找

【转】前后端分离架构:web实现前后端分离,前后端解耦

血红的双手。 提交于 2019-12-05 16:50:56
(转载自 https://blog.csdn.net/weixin_37539378/article/details/79956760 ) 一、前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。 前后端分离(解耦)的核心思想是:前端Html页面通过Ajax调用后端的RestFul API并使用Json数据进行交互。 注: 【在互联网架构中,web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。 应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。】 一般只有Web服务器才能被外网访问,应用服务器只能内网访问。 二、为什么前后端分离 一般公司后端开发人员直接兼顾前端的工作,一边实现API接口,一边开发页面,两者互相切换着做,而且根据不同的url动态拼接页面,这也导致后台的开发压力大大增加。前后端工作分配不均。不仅仅开发效率慢,而且代码难以维护。而前后端分离的话,则可以很好的解决前后端分工不均的问题,将更多的交互逻辑分配给前端来处理

RESTFUL规范

我是研究僧i 提交于 2019-12-05 08:50:43
1.简单概述   REST,即Representational State Transfer的缩写。RESTful架构,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制,所以正得到越来越多网站的采用。如果一个架构符合REST原则,就称它为RESTful架构。   简单理解,就是程序之间相互交互的一种规则。 2.具体规则概括 1. https代替http,保证数据传输时安全。 2. 在url中一般要体现api标识 。 http://www.luffycity.com/api/....(建议,因为他不会存在跨域的问题) http://api.luffycity.com/.... 3. 在接口中要体现版本 http://www.luffycity.com/api/v1....(建议,因为他不会存在跨域的问题) 注意:版本还可以放在请求头中 http://www.luffycity.com/api/ accept: ... 4. restful也称为面向资源编程,视网络上的一切都是资源,对资源可以进行操作,所以一般资源都用名词。   http://www.luffycity.com/api/user/ 5. 如果要加入一些筛选条件,可以添加在url中   http://www.luffycity

表现层状态转换

吃可爱长大的小学妹 提交于 2019-12-05 08:42:39
表现层状态转换 ( 英语 : Representational State Transfer , 缩写 : REST )是 Roy Thomas Fielding 博士于2000年在他的博士论文 [1] 中提出来的一种 万维网 软件架构 风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。表现层状态转换是根基于 超文本传输协议(HTTP) 之上而确定的一组约束和属性,是一种设计提供万维网络服务的 软件构建风格 。符合或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,允许客户端发出以 统一资源标识符 访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协作性质(interoperability)。相对于其它种类的网络服务,例如 SOAP服务则是以本身所定义的操作集,来访问网络上的资源。 当前在三种主流的 Web服务 实现方案中,因为REST模式与复杂的 SOAP 和 XML-RPC 相比更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如, Amazon.com 提供接近REST风格的Web服务运行图书查询; 雅虎 提供的Web服务也是REST风格的。 要点及标准 [ 编辑 ] 需要注意的是,REST是设计风格而 不是 标准。REST通常基于使用 HTTP