如何在php中获取当前页面的所有HTTP响应头

时间:2011-10-27 12:31:04

标签: php http http-headers httpresponse

headers_list()apache_reponse_headers()会返回一个大大减少的实际响应标头列表,即使headers_sent()get_headers()会发出另一个HTTP请求。

那么,如何获得与当前页面一起发送的响应头的完整列表,或者是服务器设置的这些额外响应头,仅在PHP完成后设置很久?

2 个答案:

答案 0 :(得分:6)

托管网络服务器可以免费添加标题。例如,它可以透明地压缩php的输出,设置Strict-Transport-Security标题,等等。在某些设置中(例如wikimedia's),请求也由另一台机器上的另一台HTTP服务器代理以允许缓存。

因此,无法获取已发送HTTP标头的完整列表。 为什么你还想拥有它?

答案 1 :(得分:1)

大多数标题都是由服务器发送的,而不是PHP脚本本身。当然,您可以在脚本中发送标题,但这并不意味着您将获得在页面加载后发送的所有标题。