程序员

拓展:白话讲解RESTful架构

2019-04-03  本文已影响0人  Bury_8dd7

最近看一些招聘信息,也是看到了很多要求RESTful架构的,然后就单独拿出一些时间来了解一下,然后按照自己的理解白话整理一下。

1. 什么是REST


说白了就是一个api的设计规范,不属于什么技术类的东西。符合REST约束的,就叫RESTful

2.怎么约束的


五个点:

    资源与URI

    统一资源接口

    资源的表述

    资源的链接

    状态的转移

第一个点:资源与URL


主要就是url的几个规范:

使用_或-来让URI可读性更好:单词分割的时候多个单词之间用_或者-进行分割。

使用/来表示资源的层级关系:这个没什么过多解释的

使用?用来过滤资源:?后面表示的是url附带的信息,key=>val的形式

,或;可以用来表示同级资源的关系:这个没怎么看明白,大概的意思是;和,用来分割同意目录下的两个文件。

第二点:统一资源接口


请求的时候用到的请求方式是统一的,例如:POST,GET,PUT,DELETE,等等

第三点:资源的表述


大概意思就是如果是资源请求,那么需要确定请求的资源是什么类型,是json还是xml还是图片之类。

第四点:资源的链接


这部分的重点是"超媒体即应用状态引擎(hypermedia as the engine of application state)",加一个link头,告诉客户端怎么访问下一页和最后一页,其实就是两个链接。

第五点:状态的转移:


服务端不保存客户端状态。

总结


什么是REST:结束语

REST 描述了一个架构样式的互联系统(如 Web 应用程序)。REST 约束条件作为一个整体应用时,将生成一个简单、可扩展、有效、安全、可靠的架构。由于它简便、轻量级以及通过 HTTP 直接传输数据的特性,RESTful Web 服务成为基于 SOAP 服务的一个最有前途的替代方案。用于 web 服务和动态 Web 应用程序的多层架构可以实现可重用性、简单性、可扩展性和组件可响应性的清晰分离。开发人员可以轻松使用 Ajax 和 RESTful Web 服务一起创建丰富的界面。

RESTful的关键

RESTful的关键是定义可表示流程元素/资源的对象。在REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的。

RESTful的第二大问题是组合管理及流程绑定。企业对正规的(基于SOAP)SOA最大的反对声之一便是,这种等级的发现和绑定灵活性不足以适应复杂性。

上一篇下一篇

猜你喜欢

热点阅读