我们能否直接在HTML页面中添加HTTP响应头?

11

我需要直接将响应头像X-Frame、Cache-control、Pragma等添加到html代码中,可能是使用html元素的属性?

这是用于从目录通过href链接直接获取的帮助页面。

有没有办法向这些html文件添加标题?


3个回答

10

您可以使用meta标签来复制其中一些功能。通常不是理想的解决方案,但可以查看meta标签中的http-equiv属性。我相信许多这些在新型浏览器中已经被弃用。

示例:

<meta http-equiv="Cache-control" content="no-cache"/>

<meta http-equiv="X-Frame-Options" content="sameorigin"/>

<meta http-equiv="pragma" content="no-cache"/>

OWASP不同意这个答案: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html#common-defense-mistakes - vlasits
遗憾的是,您不能为所有HTTP标头执行此操作,只能为少数标头执行此操作,请参见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#http-equiv。 - MarcellPerger

8
简而言之:不行。HTML文件是HTTP响应的主体;头信息必须来自服务器。您可以嵌入HTML文件中的任何内容都只会成为主体的一部分。

1

如果您的 Web 服务器启用了 PHP 执行功能,您可以添加类似以下内容的代码:

<?php
http_response_code(your_response_code)
?>
rest-of-your-html-code

这将执行一个 PHP 脚本,该脚本将设置响应代码。


该帖子的作者想要在使用HTML时添加“头部信息”,而非响应代码。 - Manish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接