headers_list()
和apache_reponse_headers()
会返回一个大大减少的实际响应标头列表,即使headers_sent()
和get_headers()
会发出另一个HTTP请求。
那么,如何获得与当前页面一起发送的响应头的完整列表,或者是服务器设置的这些额外响应头,仅在PHP完成后设置很久?
答案 0 :(得分:6)
托管网络服务器可以免费添加标题。例如,它可以透明地压缩php的输出,设置Strict-Transport-Security标题,等等。在某些设置中(例如wikimedia's),请求也由另一台机器上的另一台HTTP服务器代理以允许缓存。
因此,无法获取已发送HTTP标头的完整列表。 为什么你还想拥有它?
答案 1 :(得分:1)
大多数标题都是由服务器发送的,而不是PHP脚本本身。当然,您可以在脚本中发送标题,但这并不意味着您将获得在页面加载后发送的所有标题。