此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10Spring中文文档

表单数据

浏览器只能通过HTTP GET或HTTP POST提交表单数据,但非浏览器客户端也可以 使用 HTTP PUT、PATCH 和 DELETE。Servlet API 要求方法仅支持对 HTTP POST 的表单字段访问。ServletRequest.getParameter*()Spring中文文档

该模块提供拦截 HTTP PUT、PATCH 和 DELETE 内容类型为 的请求,从中读取表单数据 请求的正文,并包装 使表单数据 可通过一系列方法获得。spring-webFormContentFilterapplication/x-www-form-urlencodedServletRequestServletRequest.getParameter*()Spring中文文档

转发的标头

当请求通过代理(如负载均衡器)时,主机、端口和 方案可能会改变,这使得创建指向正确链接成为一项挑战 从客户端的角度来看,主机、端口和方案。Spring中文文档

RFC 7239 定义了 HTTP 标头 代理可以使用它来提供有关原始请求的信息。还有其他 非标准标头,包括 、 、 、 和 。ForwardedX-Forwarded-HostX-Forwarded-PortX-Forwarded-ProtoX-Forwarded-SslX-Forwarded-PrefixSpring中文文档

ForwardedHeaderFilter是一个 Servlet 过滤器,用于修改请求以便 a) 根据标头更改主机、端口和方案,以及 b) 删除这些 标题以消除进一步的影响。筛选器依赖于包装请求,并且 因此,它必须先于其他过滤器排序,例如 应该处理修改后的请求,而不是原始请求。ForwardedRequestContextFilterSpring中文文档

转发标头存在安全注意事项,因为应用程序无法知道 如果标头是由代理(按预期)或恶意客户端添加的。这就是为什么 应将信任边界的代理配置为删除来自外部的不受信任的标头。您还可以配置 with ,在这种情况下,它会删除但不使用标头。ForwardedForwardedHeaderFilterremoveOnly=trueSpring中文文档

为了支持异步请求和错误调度,请调度此 filter 应使用 和 进行映射。 如果使用 Spring Framework(参见 Servlet Config),则所有过滤器都会自动注册所有调度 类型。但是,如果通过或在Spring Boot中通过a注册过滤器,请确保包括和之外。DispatcherType.ASYNCDispatcherType.ERRORAbstractAnnotationConfigDispatcherServletInitializerweb.xmlFilterRegistrationBeanDispatcherType.ASYNCDispatcherType.ERRORDispatcherType.REQUESTSpring中文文档

浅 ETag

筛选器通过缓存内容创建“浅层”ETag 写入响应并从中计算 MD5 哈希值。下次客户端发送时, 它执行相同的操作,但还会将计算值与请求标头进行比较,如果两者相等,则返回 304 (NOT_MODIFIED)。ShallowEtagHeaderFilterIf-None-MatchSpring中文文档

此策略可节省网络带宽,但不会节省 CPU,因为必须为每个请求计算完整响应。 状态更改 HTTP 方法和其他 HTTP 条件请求标头(如 和 )超出了此筛选器的范围。控制器级别的其他策略 可以避免计算,并对 HTTP 条件请求提供更广泛的支持。 请参阅 HTTP 缓存If-MatchIf-Unmodified-SinceSpring中文文档

此筛选器具有一个参数,用于将筛选器配置为写入弱 ETag 类似于以下内容:(如 RFC 7232 第 2.3 节中所定义)。writeWeakETagW/"02a2d595e6ed9a0b24f027f2b63b134d6"Spring中文文档

为了支持异步请求,必须映射此筛选器 以便过滤器可以延迟并成功生成一个 ETag 到上次异步调度的末尾。如果使用 Spring Framework(参见 Servlet Config) 所有筛选器都会自动注册到所有派单类型。但是,如果注册 过滤器通过或在Spring Boot中通过一个,确保包括.DispatcherType.ASYNCAbstractAnnotationConfigDispatcherServletInitializerweb.xmlFilterRegistrationBeanDispatcherType.ASYNCSpring中文文档

CORS(核心斯酒店)

Spring MVC 通过对 CORS 配置的注释提供细粒度支持 控制器。但是,当与 Spring Security 一起使用时,我们建议依赖必须在 Spring Security 的过滤器链之前订购的内置过滤器。CorsFilterSpring中文文档

有关详细信息,请参阅有关 CORSCORS 筛选器的部分。Spring中文文档