gpt4 book ai didi

apache - Apache 的 Header 配置中的 "always"和 "onsuccess"有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 15:30:23 28 4
gpt4 key购买 nike

我有一个网站,其中虚拟主机定义在 /etc/apache2/sites-enabled/ 中使用 always 设置 header 像这样的选项:

Header always set X-Frame-Options DENY

如果我现在使用 .htaccess 设置相同的 header 在网站的根文件夹中,但没有 always然后该 header 在服务器的响应中返回两次。

.htaccess中的设置(除其他外):

Header set X-Frame-Options DENY

服务器的响应:

HTTP/1.1 200 OK
Date: Mon, 02 May 2016 16:02:29 GMT
Server: Apache/2.4.10 (Debian)
X-Frame-Options: DENY
Cache-Control: no-cache, no-store, must-revalidate, private
Pragma: no-cache
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Last-Modified: Mon, 02 May 2016 15:03:42 GMT
Accept-Ranges: bytes
Content-Length: 0
X-Frame-Options: DENY
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Cache-Control: no-cache, no-store, must-revalidate, private
Pragma: no-cache
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Apache 文档说没有 always选项默认值 onsuccess用来。但他们也说 “... onsuccess 的默认值不会将操作限制为具有 2xx 状态代码的响应...”(http://httpd.apache.org/docs/current/en/mod/mod_headers.html#header)。

但如果我不添加 always ,那么像 301s 和 404s 这样的错误页面将没有标题集。另一方面,如果我添加 always那么如果我在 onsuccess 中使用默认值(即 .htaccess ),标题可能会设置两次.正如文档所述:“在某些情况下,在两种情况下重复此指令是有意义的,因为相对于现有 header ,always 不是 onsuccess 的超集”。两次设置 header 对于 HTTP 响应并不总是有效,请参阅 https://stackoverflow.com/a/4371395/641481 .所以我想自然而然地避免它。

我现在的问题是:我究竟应该在什么时候使用 onsuccess (即默认值)以及何时 always ?我必须承认,即使在通读了 Apache 文档几次之后,我也没有完全理解这一点。务实地说,似乎总是使用 always导致正确/预期的行为。

我也不明白为什么 Apache 在 always 中设置了 header 两次。和 onsuccess .这对我来说似乎是错误的,但这一定有一个很好的理由,因为我认为 Apache 开发人员比我对 HTTP 了解更多;-)

最佳答案

这只是部分答案,因为它没有涵盖 onsuccess 属性。它基于使用在 Ubuntu 14 操作系统上运行的 apache 2.4.7 的经验。希望对您有所帮助。

header 指令的纯 set 参数(不带属性)通过强制将参数设置为 Header 来覆盖任何 always 属性 是唯一交付的。如果同一指令出现在目录中,即基于文件系统的 .htaccess 文件,它优先于与该目录相关的虚拟主机定义文件中记录的相同指令。如果属性 always 被额外注明,它的效果是相同指令的任何相同或不同的符号被添加到服务器答案而不是覆盖/替换它。

onsuccess 属性可能与 always 属性类似,很遗憾我现在没有时间研究它。

关于apache - Apache 的 Header 配置中的 "always"和 "onsuccess"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991188/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com