我想利用JAX-RS中的cachecontrol选项。
但我所知道并完全理解的是,它用于GET
和PUT
请求。有人尝试过将其用于POST
请求吗?
我正在构建一个RESTful Web服务,以满足客户的要求。它在内部将客户端的请求转发到另一个组件,并将响应转储回客户端。对于相同的请求,响应是相同的。
如何使用缓存有时直接从缓存中响应,而不是转发/接收来自内部组件的响应?
我不能使用数据库或nosql-dDB来缓存请求/响应。我想要一些在应用程序重新启动后丢失的内存。
HTTP具有安全或不安全等或非幂等的方法。请参阅HTTP规范:
方法也可以具有"幂等性"的特性,因为(除了错误或过期问题之外)N>0个相同请求的副作用与单个请求相同。方法GET、HEAD、PUT和DELETE共享此属性。
你可以随心所欲地GET
、PUT
或DELETE
a资源,无论你多久做一次,结果都是一样的。
如您所见,POST
是非幂等元。对POST
来说,一次、两次或更频繁地请求资源是有区别的。这是因为POST
的语义是在POST
的资源下方创建东西。
正因为如此,缓存POST
请求的结果是没有意义的。