何时以及为什么要在 Spring 应用程序中使用 HTTP 304 Not Modified 状态代码?

When and Why Should I Use the HTTP 304 Not Modified Status Code in a Spring Application?

提问人:shiningStar 提问时间:9/11/2023 更新时间:9/11/2023 访问量:40

问:

我目前正在开发一个 Spring 应用程序,我遇到了 HTTP 304 未修改状态代码。虽然我理解它的基本目的,但我正在努力掌握它特别有益的现实生活场景。

有人可以提供一些具体的例子或用例,说明使用 304 状态代码是一种很好的做法吗?

此外,我希望能提供关于此状态代码如何提高 Web 应用程序的性能或效率的任何见解。

感谢您对这个话题的阐述!

java spring-boot http-status-codes

评论


答:

1赞 Arfur Narf 9/11/2023 #1

遵循规范

10.3.5 304 未修改

如果客户端已执行条件 GET 请求,并且访问是 允许,但文档尚未修改,服务器应
使用此状态代码进行响应。304 响应不得包含
消息正文,因此始终由标头字段后的第一个空行
终止。

例如,您可以对大型文档执行“条件 GET”;如果您已经拥有它并且从那以后就没有更改过,那么再次获得它就没有意义了。不转移文件的效率应该是显而易见的;您需要将其与维护本地副本的工作进行权衡。

评论

0赞 shiningStar 9/11/2023
很棒的解释。