美文网首页Java
简明理解REST和RESTful

简明理解REST和RESTful

作者: 親愛的破小孩 | 来源:发表于2017-08-15 16:47 被阅读0次

REST首先不是个英文单词,是REpresentational State Transfer的简写。直译过来是表现层状态转移。- -||,从名字讲,只是一个困惑。

全称是Resource Representational State Transfer:

Resource:资源,即数据(网络的核心)

Representational:某种表现形式,比如JSON,XML,JPEG等;

State Transfer:状态变化。通过HTTP动词实现。

 有一个概括很精辟:

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC),描述操作。


Web端不再用之前典型的PHP或JSP架构,而是改为前端渲染和附带处理简单逻辑(AngularJs)。Web端和Server只使用上述定义的API来传递数据和改变数据状态。格式一般是json。Web,Android都变为同等角色通过一套API来消费Server提供的服务。

为什么要使用RESTful结构呢?

   从前的网页基本都是前后端揉在一起,比如PHP和JSP等。但随着移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为Web,IOS等提供服务。

如何设计Server的API才满足RESTful要求?

  2.API versioning 可以放在URL里面,也可以用HTTP的header:/api/v1/

  3.URL使用名词而不是动词,且推荐用复数。

GET/products:will return the list of all products

好过      /getProducts

  4.保证HEAD和GET方法是安全的,不会污染资源状态

    杜绝GET/deleteProduct?id=1这种情况

  5.资源的地址推荐用嵌套结构

    比如:GET /friends/10375923/profile

  6.警惕返回结果的大小,如果过大,及时分页(pagination)或者加入限制(limit)。HTTP协议支持分页操作。

   7.使用正确的Http status Code表示访问状态

    8.在返回结果用明确易懂的文本,而且适当的加入注释。

    9.关于安全:自己的接口就用https,加上一个key做一次hash放在最后即可。

相关文章

  • 简明理解REST和RESTful

    REST首先不是个英文单词,是REpresentational State Transfer的简写。直译过来是表现...

  • Restful API

    restful api接口测试 REST和RESTFUL的区别: 1、RESTful是REST的形容词形式2、RE...

  • 【spring0】web

    基本上都和REST相关理解RESTful架构 JPA(Java Persistence API):Java持久层A...

  • restful终结篇

    REST,RESTFUL,SOAP,RPC,RESTFUL Web API区别 1. REST (Represen...

  • REST以及RESTFUL理解

    基本概念 REST---REpresentational State Transfer 表现层状态转移 R...

  • 什么是 RESTful Web服务

    背景 本文简述了什么是 RESTful Web服务 REST 和 RESTful Representational...

  • RESTful 知多少

    首先RESTful和 rest这个单词没有任何的关系,REST:Representational State Tr...

  • REST和RESTful

    REST = REpresentational State Transfer 表现层状态转移,它指的是一组架构约束...

  • rest和restful

    开发了那么久,对接接口已经很老练了,但是对于rest和restful概念真的没有听过,而且也没有用过get、pos...

  • REST和RESTFUL

    REST(Representational State Transfer),表述性状态转移,定义了互联网架构原则,...

网友评论

    本文标题:简明理解REST和RESTful

    本文链接:https://www.haomeiwen.com/subject/aplvrxtx.html