Restful

RESTful是一种架构风格。REST  ( Representational State Transfer ) 指的是一组架构约束条件和规范。知足这些约束条件和规范的应用程序就是 RESTful。REST的核心是面向资源,下降开发的复杂性,提升系统的可伸缩性。
REST提出设计概念和准则为: 网络上的全部事物均可以被抽象为资源 每一个资源都有惟一的资源标识,对资源的操做不会改变这些标识
统一接口,全部的数据的元操做,即CRUD GET (SELECT):从服务器取出资源 (一项或多项)。 POST (CREATE):在服务器新建一个资源。 PUT (UPDATE):在服务器更新资源 (客户端提供完整资源数据)。 PATCH (UPDATE):在服务器更新资源 (客户端提供须要修改的资源数据)。 DELETE (DELETE):从服务器删除资源。
    无状态,指的是请求的状态,而不是资源的状态。是两个关联用户 (Client与Server) 进行交互操做时所留下来的公共信息(工做流、用户状态信息等数据)。这些信息能够被指定在不一样的做用域中,如page、request、session、application或全局做用域,通常由Server中的Session来保存这些信息。 在基于状态的Web服务中,Client与Server交互的信息 (用户登陆状态) 会保存在Server的Session中。再这样的前提下,Client中的用户请求只能被保存有此用户相关状态信息的服务器所接受和理解,这也就意味着在基于状态的Web系统中的Server没法对用户请求进行负载均衡等自由的调度 (一个Client请求只能由一个指定的Server处理)。同时这也会致使另一个容错性的问题,若是指定的Server在Client的用户发出请求的过程当中宕机,那么此用户最近的全部交互操做将没法被转移至别的Server上,即此请求将无效化。 在无状态的Web服务中,每个Web请求都必须是独立的,请求之间是彻底分离的。Server没有保存Client的状态信息,因此Client发送的请求必须包含有可以让服务器理解请求的所有信息,包括本身的状态信息。使得一个Client的Web请求可以被任何可用的Server应答,从而将Web系统扩展到大量的Client中。
    如何实现如用户信息的无状态:
    将用户信息保存到cookie中,或登陆时将token保存至内存数据库,再将token反回给客户端,客户端每一次调用都传送这个token。数据库

相关文章
相关标签/搜索