REST

发布时间 2023-10-07 00:09:39作者: 3DG

REST

什么是REST

Respresentational State Transfer,即表述性状态转移,一种软件架构风格(或模式)

 

 

状态的定义

让客户端维护应用状态,并确保服务端向服务器发出的请求都包含理解请求所需的全部信息,而服务器不应该维护该状态(服务器无状态,具有可伸缩性)

REST架构风格的不足

  • 统一接口带来的性能损失

    由于信息使用标准化的形式转移,不能使用特定与应用需求的形式

  • 请求响应式交互,使得服务端无法通知客户端

    客户端要想获得最新状态,需要不停向服务端发送请求,既浪费贷款又无法满足高时效性的需求

  • 缓存的存在,使得一致性问题突出

    客户端获得的数据可能是缓存了的旧数据,服务器没有主动通知更新缓存的机制,使得分布式系统一致性问题突出

  • HTTP明文传输带来的安全性问题

    HTTP使用明文传输,且不验证报文完整性,使得报文易被篡改,全栈使用HTTPS解决安全性问题又会带来较高性能开销

  • HTTP动词表达力不够

    HTTP动词目前只能支持基本的CRUD操作,且某些情况,用GET获取资源收到url长度的限制