On this page
Apache 模块 mod_request
Description: | 筛选器处理和提供 HTTP 请求正文 |
---|---|
Status: | Base |
Module Identifier: | request_module |
Source File: | mod_request.c |
Compatibility: | 在 Apache 2.3 和更高版本中可用 |
KeptBodySize Directive
Description: | 保留请求主体,而不是将其丢弃到指定的最大大小,以供 mod_include 之类的过滤器潜在使用。 |
---|---|
Syntax: | KeptBodySize maximum size in bytes |
Default: | KeptBodySize 0 |
Context: | directory |
Status: | Base |
Module: | mod_request |
在正常情况下,当请求处理程序不需要它时,请求处理程序(例如静态文件的默认处理程序)将丢弃请求正文。结果,诸如 mod_include 之类的过滤器仅限于仅在将其他 URL 包括为子请求时才发出GET
个请求,即使原始请求是POST
请求也是如此,因为一旦进行过滤处理,被丢弃的请求主体就不再可用。
当此伪指令的值大于零时,否则将丢弃请求正文的请求处理程序将把请求正文放在一边,以供指定最大大小的过滤器使用。在使用 mod_include 过滤器的情况下,尝试对静态 shtml 文件进行POST
请求将导致所有子请求为POST
请求,而不是以前的GET
请求。
通过此功能,可以将复杂的网页和 Web 应用程序分解为各个小组件,并使用mod_include将这些组件和周围的网页结构组合在一起。这些组件可以采用 CGI 程序,脚本语言或使用mod_proxy从另一台服务器反向代理到 URL 空间的 URL 的形式。
注意: 必须将每个预留的请求放在临时 RAM 中,直到请求完成为止。因此,应注意确保服务器上有足够的 RAM 来支持预期的负载。此指令的使用应限于 URL 空间的目标部分上所需的位置,并且其值应尽可能低,但仍足以容纳请求正文。
如果 Client 端发送的请求大小超过此指令分配的最大大小,则服务器将返回413 Request Entity Too Large
。
See also
mod_include documentation
mod_auth_form documentation