在JAX-RS中缓存POST请求



我想利用JAX-RS中的cachecontrol选项。

但我所知道并完全理解的是,它用于GETPUT请求。有人尝试过将其用于POST请求吗?

我正在构建一个RESTful Web服务,以满足客户的要求。它在内部将客户端的请求转发到另一个组件,并将响应转储回客户端。对于相同的请求,响应是相同的。

如何使用缓存有时直接从缓存中响应,而不是转发/接收来自内部组件的响应?

我不能使用数据库或nosql-dDB来缓存请求/响应。我想要一些在应用程序重新启动后丢失的内存。

HTTP具有安全不安全等非幂等的方法。请参阅HTTP规范:

方法也可以具有"幂等性"的特性,因为(除了错误或过期问题之外)N>0个相同请求的副作用与单个请求相同。方法GET、HEAD、PUT和DELETE共享此属性。

你可以随心所欲地GETPUTDELETE a资源,无论你多久做一次,结果都是一样的。

如您所见,POST非幂等元。对POST来说,一次、两次或更频繁地请求资源是有区别的。这是因为POST的语义是POST的资源下方创建东西。

正因为如此,缓存POST请求的结果是没有意义的。

最新更新