Rest之路 - Rest架构中的重要概念(二)
状态无关性
Rest 架构中不维持client,resource and request 的状态,我们通常称 Rest 服务是状态无关的。基于此的优势是为设计Rest架构提供了简便;每一个请求可以被完全单独的处理;与HTTP协议的状态无关保持一致。不足之处在于但是如果需要获取或者维持状态,需要消耗额外的资源。
缓存
缓存的设计是为了减少server端的负担,client 不需要每次都向 server 发送请求,client可以使用缓存技术来保存 server response。

HTTP Code:
| S.N. | HTTP Code & Description | 
|---|---|
| 1 | 200 OK, shows success.  | 
| 2 | 201 CREATED, when a resource is successful created using POST or PUT request. Return link to newly created resource using location header.  | 
| 3 | 204 NO CONTENT, when response body is empty for example, a DELETE request.  | 
| 4 | 304 NOT MODIFIED, used to reduce network bandwidth usage in case of conditional GET requests. Response body should be empty. Headers should have date, location etc.  | 
| 5 | 400 BAD REQUEST, states that invalid input is provided e.g. validation error, missing data.  | 
| 6 | 401 UNAUTHORIZED, states that user is using invalid or wrong authentication token.  | 
| 7 | 403 FORBIDDEN, states that user is not having access to method being used for example, delete access without admin rights.  | 
| 8 | 404 NOT FOUND, states that method is not available.  | 
| 9 | 409 CONFLICT, states conflict situation while executing the method for example, adding duplicate entry.  | 
| 10 | 500 INTERNAL SERVER ERROR, states that server has thrown some exception while executing the method.  | 
Rest之路 - Rest架构中的重要概念(二)的更多相关文章
- Rest之路 - Rest架构中的重要概念
		
资源 在Rest的架构之内,讲一切内容都是为资源.每一个资源都被定义为一个URI. 格式: <protocol>://<service-name>/<ResourceTy ...
 - 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路
		
最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客 ...
 - [译]Google官方关于Android架构中MVP模式的示例
		
概述 该示例(TODO-MVP)是后续各种示例演变的基础,它主要演示了在不带架构性框架的情况下实现M-V-P模式.其采用手动依赖注入的方式来提供本地数据源和远程数据源仓库.异步任务通过回调处理. 注意 ...
 - 大型 JavaScript 应用架构中的模式
		
原文:Patterns For Large-Scale JavaScript Application Architecture by @Addy Osmani 今天我们要讨论大型 JavaScript ...
 - [转]大型 JavaScript 应用架构中的模式
		
目录 1.我是谁,以及我为什么写这个主题 2.可以用140个字概述这篇文章吗? 3.究竟什么是“大型”JavaScript应用程序? 4.让我们回顾一下当前的架构 5.想得长远一些 6.头脑风暴 7. ...
 - 三层架构中bll层把datatable转换为实体model的理解
		
看了很多人的项目,很多都是用到三层架构,其中BLL层中有一种将DataTable转换为实体的方法.一直没有明白为啥要这样做,今天特意去搜索了一下,如果没有答案我是准备提问,寻求解答了.还好找到一个相关 ...
 - 谈谈三层架构中Model的作用
		
Model又叫实体类,这个东西,大家可能觉得不好分层.包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL ...
 - linux驱动程序之电源管理之新版linux系统设备架构中关于电源管理方式的变更
		
新版linux系统设备架构中关于电源管理方式的变更 based on linux-2.6.32 一.设备模型各数据结构中电源管理的部分 linux的设备模型通过诸多结构体来联合描述,如struct d ...
 - 微服务架构中API网关的角色
		
[上海尚学堂的话]:本文主要讲述了Mashape的首席技术执行官Palladino对API网关的详细介绍,以及API网关在微服务中所起的作用,同时介绍了Mashape的一款开源API网关Kong. A ...
 
随机推荐
- linux上安装mysql以后root不能登录的解决办法
			
今天心血来潮在linux上装了mysql,装完以后用命令mysql -uroot -p登录时提示 解决办法: 使用ps aux|grep mysql 查出pid 使用kill pid结束mysql进程 ...
 - 关闭SSL服务[iRedMail]
			
相信有很多朋友接触并使用地iRedMail这个软件了, 其强大的邮件收发功能, 垃圾及病毒检索能力自不用说了. 其自身携带的dovecot组件提供的SSL也足以使人们对这个软件侧目, 但是正是由于这个 ...
 - Prism5.0新内容 What's New in Prism Library 5.0 for WPF(英汉对照版)
			
Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF ...
 - Android中UI线程与后台线程交互设计的6种方法
			
在android的设计思想中,为了确保用户顺滑的操作体验.一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务.因此我们必须要重新开启 一个后台线程运行这些任务.然而,往往这些任务最终又会直 ...
 - *Fragment与Activity生命周期的协调
			
本文出处:http://blog.csdn.net/think_soft/article/details/7272869 拥有Fragment的Activity的生命周期直接影响了其中的Fragmen ...
 - VS 2010 转到COFF期间失败。
			
可能的原因是framework 版本不匹配,我卸载4.5,装4.0后就解决了
 - 人生苦短之我用Python篇(基础)
			
Python简介 Python,是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python是纯粹的自由软件, ...
 - laravel 框架给数组分页
			
//Get current page form url e.g. &page=6 $currentPage = LengthAwarePaginator::resolveCurr ...
 - linux基础【文件夹含义】
			
linux文件目录是一个树状的目录 bin -->可执行文件 boot-->操作系统引导文件,系统内核,启动信息 dev -->device,设备信息,计算机硬件设备信息 etc - ...
 - SGU  502  Digits Permutation
			
这个题目 正解应该是 dp 吧 对18个数字进行2进制枚举放不放,,,可以这么理解 以当前状态 stu,他对应的余数是 h 进入下一个状态: 进行记忆画搜索就行了 1 #include<iost ...