本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。
由于个人技术水平和英文水平也是有限的,因此错误在所难免,希望大家多多留言指正。
Q1. 什么是REST?
Ans. REST是 Representational State Transfer(表述性状态传递)的简称。是一项用于分布式环境数据交换的协议。
REST是一种架构风格,它将每个服务对待为资源并通过Http协议方法(GET、POST、PUT、DELETE)获取数据。
REST风格的架构包含客户端和服务端。
客户端初始化请求到服务器,服务器负责处理请求并返回响应。
这些请求和响应都是围绕这些资源的表示形式进行传递。
Q2. 解释下REST原则?
Ans. REST是一系列原则,用来定义web标准,比如HTTP、URIs 如何被使用。
主要有以下5条重要的REST原装:
AddressableResources(可访问的资源) - 每一个资源都应该能被URI(唯一标识符)确定。
Simple and Uniform Interfaces(有一致接口) - REST是基于HTTP协议的,使用HTTP GET, POST, PUT, DELETE
来执行操作。使得REST简单一致。
RepresentationOriented(面向表述) - 资源的表现形式可以交换的。GET用来获取资源的某种表现形式,POST用来传递资源到服务器以至于底层资源能够被改变。Representation可以有很多种表现形式,比如XML、Json等。
Communicate Stateless(无状态通信) - 一个应用程序可以拥有状态但是没有客户端会话数据存储在服务器。任何会话类型的数据应该在客户端保存和处理,只有在每次请求中按需传递到服务器。
Cacheable(可缓存) - 客户端应该能够缓存响应以供后续使用。
Q3. REST和 SOAP间的区别是什么?
Ans. 详见下表:
SOAP | REST |
---|---|
SOAP 是 Simple O |