restful软件架构
含义
restful软件架构风格:是互联网软件架构风格,也就是以网络为基础的软件的架构。
在理解restful架构之前我们先解释下什么是架构,软件架构指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。
要理解restful架构,最好的方法就是先去理解representational state transfer,的每一词代表什么含义。
resources
rest中所说的表现层状态转移(representational state transfer),其实有一个隐含的主语,就是资源(resources),表现层其实指的就是资源的表现层。所谓的资源就是网络上的一个具体信息。这个信息可以是图片、文本、音频、服务等等,总之就是一个具体的信息实体。你可以用一个URI指向它,每种特定的URI特定的URI,要获取这个资源访问他特定的URI就可以。
representational
资源是具体的信息实体,他可以有多种外在表现形式,我们把资源具体表现出来的形式叫做表现层。
比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;
URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的".html"后缀名是不必要的,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述。