本系列主要翻譯自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可訪問(wèn)http://www.dotnettricks.com/free-ebooks自行下載。該書(shū)主要分為兩部分,ASP.NET MVC 5、ASP.NET WEB API2。本書(shū)最大的特點(diǎn)是以面試問(wèn)答的形式進(jìn)行展開(kāi)。通讀此書(shū),會(huì)幫助你對(duì)ASP.NET MVC有更深層次的理解。
由于個(gè)人技術(shù)水平和英文水平也是有限的,因此錯(cuò)誤在所難免,希望大家多多留言指正。
Q1. 什么是REST?
Ans. REST是 Representational State Transfer(表述性狀態(tài)傳遞)的簡(jiǎn)稱。是一項(xiàng)用于分布式環(huán)境數(shù)據(jù)交換的協(xié)議。
REST是一種架構(gòu)風(fēng)格,它將每個(gè)服務(wù)對(duì)待為資源并通過(guò)Http協(xié)議方法(GET、POST、PUT、DELETE)獲取數(shù)據(jù)。
REST風(fēng)格的架構(gòu)包含客戶端和服務(wù)端。
客戶端初始化請(qǐng)求到服務(wù)器,服務(wù)器負(fù)責(zé)處理請(qǐng)求并返回響應(yīng)。
這些請(qǐng)求和響應(yīng)都是圍繞這些資源的表示形式進(jìn)行傳遞。
Q2. 解釋下REST原則?
Ans. REST是一系列原則,用來(lái)定義web標(biāo)準(zhǔn),比如HTTP、URIs 如何被使用。
主要有以下5條重要的REST原裝:
AddressableResources(可訪問(wèn)的資源) - 每一個(gè)資源都應(yīng)該能被URI(唯一標(biāo)識(shí)符)確定。
Simple and Uniform Interfaces(有一致接口) - REST是基于HTTP協(xié)議的,使用HTTP GET, POST, PUT, DELETE
來(lái)執(zhí)行操作。使得REST簡(jiǎn)單一致。
RepresentationOriented(面向表述) - 資源的表現(xiàn)形式可以交換的。GET用來(lái)獲取資源的某種表現(xiàn)形式,POST用來(lái)傳遞資源到服務(wù)器以至于底層資源能夠被改變。Representation可以有很多種表現(xiàn)形式,比如XML、Json等。
Communicate Stateless(無(wú)狀態(tài)通信) - 一個(gè)應(yīng)用程序可以擁有狀態(tài)但是沒(méi)有客戶端會(huì)話數(shù)據(jù)存儲(chǔ)在服務(wù)器。任何會(huì)話類型的數(shù)據(jù)應(yīng)該在客戶端保存和處理,只有在每次請(qǐng)求中按需傳遞到服務(wù)器。
Cacheable(可緩存) - 客戶端應(yīng)該能夠緩存響應(yīng)以供后續(xù)使用。
Q3. REST和 SOAP間的區(qū)別是什么?
Ans. 詳見(jiàn)下表:
SOAP | REST |
---|---|
SOAP 是 Simple O |