Flask-REST架构

本文介绍了REST架构的六个关键特点,包括客户端-服务器、无状态、缓存、接口统一、系统分层和按需代码,并通过实例解释了如何在Flask中实现这些原则。强调资源是REST架构的核心,每个资源通过URL唯一标识。
摘要由CSDN通过智能技术生成

基本的博客网站已经建设完毕。书中第14章API部分,提到了Web服务的REST架构。什么叫架构,作为一个小白,一听到架构这个词觉得好高大上,后来看了下国外文献,里面有个 architectural,妈的不就是建筑么!!盖个房都要按照基本法,不能瞎盖,同理,Web服务器也要按照一定的原则来搭建。REST是比较流行的搭法,遵循6个特点,换句话说,符合下面6个特征的架构方式,就是RESTful的

  1. 客户端-服务器
  2. 无状态
  3. 缓存
  4. 接口统一
  5. 系统分层
  6. 按需代码
客户端-服务器

客户端就是客户端,服务器就是服务器,两者必须有明确界限

无状态

服务器不保存任何客户的状态,客户端必须自己提供足够的信息。
这个怎么理解呢?拿看病来举例,你去医院看病,一般的流程是

挂号-看病-缴费-拿药

这四项服务都是由4个服务器提供,你先去挂号,拿到挂号单,然后带着挂号单,去医生那看病,把挂号单给医生看下你挂过号了,然后医生给你看病,看完开个药单,让你去缴费,你带着药单先去缴费处付钱,拿到收据后凭收据去药房拿药。想想看,整个过程是不是都是你一个病人带着各种凭证去各个服务窗口享受服务?而服务人员只需看下你的单子,就能立马给你提供服务了。这就是生活上的无状态。如果不这样做呢?你去挂号,挂完了柜姐领着你去找王医生看病,说你已经挂过号了,王医生就给你看病,看完领着你去缴费处付药钱,然后王医生走了。你付完钱,柜姐再带着你去药房去拿药,跟药房里的服务员说你已经付过钱了,直接拿药就行。整个流程下来,必须得4个服务器之间同步信息才能完成,这样是不是超级傻逼?所以客户端请求资源的时候,必须自己带着必要的信息去找服务器,服务器只负责提供请求的数据。

缓存

服务器的响应可以标记为可缓存和不可缓存,优化性能

接口统一

客户端访问服务器资源时使用的协议必须一致

系统分层

客户端和服务器之间可按需插入代理,缓存,网关

按需代码

客户端可以选择从服务器上下载代码,在客户端上执行

资源是核心

资源是REST架构的核心概念
每个资源都用URL来唯一标识,如某个评论api/comments/12
资源的集合也要有URL来唯一标识,且习惯上在末尾加‘/’,如所有评论:/api/comments/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值