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