也谈RESTful

        REST的英文全称是:Representational State Transfer,现在比较常用的中文翻译是:表述性状态转移。它是2000年由Roy Thomas Fielding在他的博士论文中提出的。应该明确的是,REST是一种风格而不是标准。它指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。好吧,我得承认这样的开场白很俗、很老套。

 

        那什么是“表述性状态转移”?请听我慢慢道来:(一)在谈论“表述”之前我们先要讨论一下“资源”,因为所谓的表述其实是对资源的表述。资源自然是存储在服务器端的,若干的资源存储在上面,如何让客户端精确定位到某个资源上呢?在REST中,它是用一个全局的、唯一的URL来进行标识。所以一个URL就表示一个资源,这些资源以某种实体方式存在,比如:一个文本、一张图片、一段视频……(二)明确了“资源”后我们再回过头来谈“表述”,当客户端发送一个HTTP请求到服务器端时,服务器端作为响应,会回传一份文档给客户端,这份文档即是对上述资源的“表述”。(三)接下来自然是讲“状态转移”喽。其实简单一句话,状态转移无非就是客户端与服务器端交互的一个过程。状态其实还要分成“应用状态”与“资源状态”,书中文图并茂,在此就不再赘述啦。

 

        书中还提到“约束”、提到“语义鸿沟”,说得很在理。我也认为适当的约束很必要,没有约束,大家用不同的方式做着同样的事情,最终呈现一片乱象。试想,如果硬件厂商没有统一标准(或是说没有统一的约束),大家各做各的,最后那些硬件因为标准不同造成不兼容,那将是何等的景象?同理,不再囿于某个小圈子,而是在一个较大的范围内设计出某些具有普适性的API,那将是多么有意义的事呀!

 

        应该说自己对REST了解得不够深入,但闻道有先后,就算在这方面是后知后觉,但不影响自己写书评的热情,同时也希望可以有机会完整地学习了解。

你可能感兴趣的:(计算机,试读)