面试被问到什么是REST,什么是RESTful风格。一下懵逼,以前只对RESTful稍有了解,对REST没有多大的概念。于是查查有关方面的知识。

REST – REpresentational State Transfer 直接翻译:表现层状态转移(其实就是资源在网络中以某种表现形式进行状态转移)。这个词太术语化。用通俗易懂的话来说,URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。

那么,到底什么是REST

REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)。

Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:

lvshen9.github.com/v1/mybook:获取我的book(地址是我瞎写的)

lvshen9.github.com/v1/myfrends:获取我的好友列表

用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源。

好了就介绍到这里了,有关RESTful风格的详细知识可以参考[RESTful 架构风格概述]