Apache核心(Core)特性

说明Apache HTTP服务器核心提供的功能,始终有效
状态核心(C)

top

AcceptFilter 指令

说明根据协议类型对监听Socket进行优化
语法AcceptFilter protocol accept_filter
作用域server config
状态核心(C)
模块core
兼容性仅在 Apache 2.1.5 以后的版本中可用

这个指令使得操作系统根据协议类型对监听socket进行特别的优化。其基本前提是内核在数据接受完毕或一个完整的HTTP请求缓冲完成前不向服务器进程发送socket 。目前仅支持FreeBSD的接收过滤器(Accept Filter)和Linux的更原始的(more primitive)TCP_DEFER_ACCEPT

FreeBSD上的默认值是:

AcceptFilter http httpready
AcceptFilter https dataready

httpready接收过滤器(Accept Filter)在内核级别缓冲整个HTTP请求。一旦一个请求体被完整接收,内核将把它发送给服务器。参见accf_http(9)手册页以获得更详细的信息。因为HTTPS请求已经被加密了,所以只使用了accf_data(9)过滤器。

Linux上的默认值是:

AcceptFilter http data
AcceptFilter https data

Linux的TCP_DEFER_ACCEPT并不支持对http请求进行缓冲。除none之外的任何值都将在监听程序上启用TCP_DEFER_ACCEPT 。参见tcp(7)手册页以获得更多详情。

使用none将会为那个协议禁用接收过滤器(accept filter)。这对于像nntp这样需要服务器先发送数据的协议很有用处:

AcceptFilter nttp none

top

AcceptPathInfo 指令

说明是否接受附带多余路径名信息的请求
语法AcceptPathInfo On|Off|Default
默认值AcceptPathInfo Default
作用域server config, virtual host, directory, .htaccess
覆盖项FileInfo
状态核心(C)
模块core
兼容性仅在 Apache 2.0.30 及以后的版本中可用

此指令决定是否接受在实际文件名(或实际目录中一个不存在的文件)后跟随多余路径名信息的请求。这个多余的路径名信息可以当作PATH_INFO环境变量传递给脚本。

比如说,假设/test/所指向的目录下只包括一个文件:here.html ,那么对/test/here.html/more/test/nothere.html/more的请求都会将PATH_INFO环境变量设为"/more"。

AcceptPathInfo指令的取值范围:

Off
仅当一个请求映射到一个真实存在的路径时,才会被接受。这样,如上述 /test/here.html/more这样在真实文件名后跟随一个路径名的请求将会返回一个"404 NOT FOUND"错误。
On
只要前导路径可以映射到一个真实存在的文件,就可以接受该请求。这样,只要上述 /test/here.html能够映射到一个有效的文件,那么对 /test/here.html/more的请求就会被接收。
Default
是否接收附带多余路径名信息的请求由其对应的 处理器来决定。对应普通文本的核心处理器默认会拒绝 PATH_INFO 。而用于伺服脚本的处理器,比如 cgi-scriptisapi-isa,默认会接受 PATH_INFO

AcceptPathInfo指令存在的首要目的就是允许您覆盖处理器关于是否接受PATH_INFO的默认设置。这种覆盖是很必要的。比如说,当您使用了类似INCLUDES这样的过滤器来根据PATH_INFO产生内容时。核心处理器通常会拒绝这样的请求,而您就可以用下述的配置使这样的脚本成为可能:

<Files "mypaths.shtml">
Options +Includes
SetOutputFilter INCLUDES
AcceptPathInfo On
</Files>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值