RESTful 面试题

1. 什么是 REST 规则

1)什么是 REST

基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。

2)满足哪些 REST 原则的架构能够称为 RESTful

  • 对网络上所有的资源都有一个资源标志符。
  • 对资源的操作不会改变标识符。
  • 同一资源有多种表现形式(xml、json)
  • 所有操作都是无状态的(Stateless)

3)什么是无状态性

使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前的请求,不需了解请求的历史。可以更容易的释放资源,让服务器利用Pool(连接池)技术来提高稳定性和性能。

2. 什么是 RESTful

RESTful 是一种常见的 REST 应用,是遵循 REST 风格的 web 服务,REST 式的 web 服务是一种 ROA(面向资源的架构)。

首先 rest 是一种 API 的模式,常以 JSON 格式编写。符合 rest 约束风格和原则的应用程序或设计就是RESTful。

例如:

传统 URL 请求格式:

http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

http://127.0.0.1/user/save POST 新增用户

http://127.0.0.1/user/update POST 修改用户信息

http://127.0.0.1/user/delete GET/POST 删除用户信息

RESTful 请求格式:

http://127.0.0.1/user/1 GET 根据用户id查询用户数据

http://127.0.0.1/user POST 新增用户

http://127.0.0.1/user PUT 修改用户信息

http://127.0.0.1/user DELETE 删除用户信息