日志记录等会破坏REST

时间:2013-07-08 21:09:48

标签: rest

根据我对REST(REpresentational State Transfer)的了解,有一些“安全”的HTTP方法,比如GET请求,不应该在服务器上调用更改。

有很多很棒的RESTful API,我注意到其中很多都会限制你在一段时间内可以提出的请求数量。监视GET请求是否会在技术上破坏REST,因为跟踪请求需要在服务器上进行更改?

或者是否有完全RESTful方式来跟踪GET请求?

3 个答案:

答案 0 :(得分:2)

来自Wikipedia

  

定义了一些方法(例如,HEAD,GET,OPTIONS和TRACE)   安全,这意味着它们仅用于信息检索   并且不应该更改服务器的状态。换句话说,他们   不应该有副作用,超出相对无害的影响   作为记录,缓存,横幅广告的服务或   递增网络计数器。无需进行任意GET请求   因此,应该考虑应用程序的状态   被认为是安全的。

对于REST请求也是如此。

答案 1 :(得分:0)

监控使用情况通常与应用程序层不同。所以REST API是一回事,而使用跟踪则是另一回事。

此外,虽然REST是一种建筑风格,但我们不应该屈服于现实以遵守它。我们有时可以忽略“打破”架构的事情,但我们应该在考虑后果后才这样做。对建筑狂热并不是一个好习惯......

答案 2 :(得分:0)

如果从客户端的角度考虑HTTP方法的语义,则更容易理解“安全”语义的目的。从客户端的角度来看,它发出的请求没有任何 intent 来更改服务器上的任何状态。如果服务器选择进行状态更改,那么这就是服务器的选择,客户端不能被视为对这些更改负责。