范围请求

Spring MVC 支持 RFC 9110 范围请求。有关概述,请参阅 范围请求 Mozilla 指南。

当注解控制器返回 ResourceResponseEntity<Resource>,或函数式端点 提供 Resource 时,Range 头在 Spring MVC 中被透明地解析和处理。 在提供 静态资源 时,Range 头支持也被透明地处理。

Resource 不能是 InputStreamResource,并且对于 ResponseEntity<Resource>, 响应的状态必须是 200。

底层支持在 HttpRange 类中,它公开了解析 Range 头并将 Resource 分割成 List<ResourceRegion> 的方法, 然后可以通过 ResourceRegionHttpMessageConverter 将其写入响应。