发表于: 2017-03-24 22:32:41

1 1216


一、今天完成的事情:

      知道了rest风格的几个重要约束:

      

  •    客户-服务器(Client-Server)

通信只能由客户端单方面发起,表现为请求-响应的形式。

  • 无状态(Stateless)

通信的会话状态(Session State)应该全部由客户端负责维护。

  • 缓存(Cache)

响应内容可以在通信链的某处被缓存,以改善网络效率。

  • 统一接口(Uniform Interface)

通信链的组件之间通过统一的接口相互通信,以提高交互的可见性。

  • 分层系统(Layered System)

通过限制组件的行为(即,每个组件只能“看到”与其交互的紧邻层),将架构分解为若干等级的层。

  • 按需代码(Code-On-Demand,可选)

支持通过下载并执行一些代码(例如Java Applet、Flash或JavaScript),对客户端的功能进行扩展。

   查阅了解了rest架构的过程:

   用户代理处在三个并行交互(a、b和c)的中间。用户代理的客户端连接器缓存无法满足请求,因此它根据每个资源标识符的属性和客户端连接器的配置,将每个请求路由到资源的来源。请求(a)被发送到一个本地代理,代理随后访问一个通过DNS查找发现的缓存网关,该网关将这个请求转发到一个能够满足该请求的来源服务器,服务器的内部资源由一个封装过的对象请求代理(object request broker)架构来定义。请求(b)直接发送到一个来源服务器,它能够通过自己的缓存来满足这个请求。请求(c)被发送到一个代理,它能够直接访问WAIS(一种与Web架构分离的信息服务),并将WAIS的响应翻译为一种通用的连接器接口能够识别的格式。每一个组件只知道与它们自己的客户端或服务器连接器的交互;

     REST的含义:

     REST是所有Web应用都应该遵守的架构设计指导原则。当然,REST并不是法律,违反了REST的指导原则,仍然能够实现应用的功能。但是违反了REST的指导原则,会付出很多代价,特别是对于大流量的网站而言。

    而RESTFUL指的是RESTful web Service:

. 用URL/URI来表示Object 

.用标准的HTTP协议来完成逻辑操作,通常有以下几个对应 HTTP Get来获得一个订单的内容,HTTP Put来更新一个订单, HTTP Post来新增一个订单, HTTP Delete来删除一个订单。

 无状态,一般指的是服务器端不保留任何操作和事务的状态,也就不存在类似回滚的操作

一般来说RESTful适合逻辑标记清晰的Web服务,交换数据一般用xml json yaml这种,另外像Java有更详细的Restful标准JAX-RS。

    继续学习SpringMVC+myhabits的实现(没写完例子..就不细讲了)

二、遇到的问题:暂无

三、明天计划的事情:

    关于REST的使用怎么实现的,怎么使用SVN等

四、收获

    再补充REST的基础知识的时候,顺带过了一下web的发展史,感觉很有用处。(http://www.infoq.com/cn/articles/understanding-restful-style),如果有想看看的可以看一下。




返回列表 返回列表
评论

    分享到