您现在的位置是:首页 >宏观 > 2024-07-28 04:07:29 来源:

restful风格和一般的有什么区别(restful风格)

导读 大家好,我是小夏,我来为大家解答以上问题。restful风格和一般的有什么区别,restful风格很多人还不知道,现在让我们一起来看看吧!1、直...

大家好,我是小夏,我来为大家解答以上问题。restful风格和一般的有什么区别,restful风格很多人还不知道,现在让我们一起来看看吧!

1、直观认识

2、对url进行规范,写RESTful格式的url

3、非REST的url:http://…../queryItems.action?id=001&type=T01

4、REST风格的url:http://…./id/001/type/T01

5、特点:url简洁,将参数通过url传到服务端

6、http的方法规范

7、不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为DELETE,同理添加POST。。。

8、后台controller的方法里需要判断http方法,如果是delete执行删除,如果是post执行添加(使用SpringMVC等类似框架可以省去我们自己判断的过程)

9、对http的contentType规范

10、请求时指定contentType,要json数据,设置成json格式的type。。

11、个人理解

12、源于网站即软件的思想

13、越来越多的人开始意识到,网站即软件,而且是一种新型的软件。

14、这种”互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。

15、网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合。(备注:因为这是研究者在2000年发表的论文,所以这里说的软件开发的概念都比较古老了,我们现在的软件应该都属于他说的互联网软件)

16、问题来了——如何更好的通信

17、现在我们必须考虑,如何开发在互联网环境中使用的软件。

18、如何得到一个功能强、性能好、适宜通信的架构

19、解决方案——统一的风格

20、网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备……)。

21、因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API架构的流行——RESTful是其中之一。

22、定义

23、REST:Representational State Transfer

24、REST: 指的是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。

25、RESTful:满足这些约束条件和原则的应用程序或设计就是 RESTful。

26、应用范围:它主要用于客户端和服务器交互类的软件。

27、优点:基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制(?还没有什么体会,暂且写到这里)。

28、综述:

29、(1)每一个URI代表一种资源;(可以把资源理解为网络中的信息)

30、(2)客户端和服务器之间,传递这种资源的某种表现层;(表现形式,如资源的格式JSON、XML)

31、(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。(HTTP协议,是一个无状态协议。通过GET,POST,DELETE等使服务端的资源发生改变,如:修改,删除)

32、  每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。

本文到此讲解完毕了,希望对大家有帮助。