完成了安装的重构,完成了REST的修改
This commit is contained in:
8
8.3.md
8
8.3.md
@@ -31,20 +31,20 @@ REST(REpresentational State Transfer)这个概念,首次出现是在 2000年Ro
|
||||
|
||||
Web应用要满足REST最重要的原则是:客户端和服务器之间的交互在请求之间是无状态的,即从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外此请求可以由任何可用服务器回答,这十分适合云计算之类的环境。因为是无状态的,所以客户端可以缓存数据以改进性能。
|
||||
|
||||
另一个重要的REST原则是分层系统,这表示组件无法了解它与之交互的中间层以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。
|
||||
另一个重要的REST原则是系统分层,这表示组件无法了解除了与它直接交互的层次以外的组件。通过将系统知识限制在单个层,可以限制整个系统的复杂性,从而促进了底层的独立性。
|
||||
|
||||
我们看下图展示了REST的架构图,如何实现:
|
||||
下图即是REST的架构图:
|
||||
|
||||

|
||||
|
||||
当REST架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。REST简化了客户端和服务器的实现,而且对于使用REST开发的应用程序更加容易扩展。
|
||||
|
||||
下图展示了REST的扩展新性:
|
||||
下图展示了REST的扩展性:
|
||||
|
||||

|
||||
|
||||
##RESTful的实现
|
||||
Go语言对于REST没有标准包直接支持,但是因为RESTful是基于HTTP协议实现的,所以我们可以利用Go语言的`net/http`包来实现,当然需要针对REST需要做一些改造,REST是根据不同的method来处理相应的资源,我们先来看一下REST的几个分级,请看下图:
|
||||
Go没有为REST提供直接支持,但是因为RESTful是基于HTTP协议实现的,所以我们可以利用`net/http`包来自己实现,当然需要针对REST做一些改造,REST是根据不同的method来处理相应的资源,目前已经存在的很多自称是REST的应用,其实并没有真正的实现REST,我暂且把这些应用根据实现的method分成几个级别,请看下图:
|
||||
|
||||

|
||||
|
||||
|
||||
Reference in New Issue
Block a user