2014-01-24 56 views
0

我遇到了一个问题,这引起了我一些好奇心。是否可以读取在不同请求中发送的自定义标头?阅读前一个请求的标题

使用header_list()可以读取发送的标头,就像Content-type一样。所以,在相同的请求,此代码:

<?php 

header('My Header: My Value'); 

print '<pre>'; 

print_r(headers_list()); 

将产生:

Array 
(
    [0] => X-Powered-By: PHP/5.4.24 
    [1] => My Header: My Value 
    [2] => Content-type: text/html 
) 

但是,如果我想获得我的头头在不同的要求,不同的URL是什么也许,发送像这样的位置标题后?

<?php 

header('My Header: My Value'); 

header('Location: test2.php'); 

的的print_r()中,如果在test2.php使用列出了内容类型和X供电-通过,但不读取我的头报头。

+0

重定向不会保留标题信息。您需要在新页面上重新设置标题。 – MichaelRushton

+0

是的,这就是我的想法,但即使我过去研究了很多HTTP协议(至少与头文件有关),但我有这种好奇心。 –

回答

1

不,不可能获取不同请求的标题列表。最明显的问题是:不同要求?可能有数千个同时发生的“其他”请求正在进行,因此“另一个”请求有点模糊。

如果您需要稍后保留该信息,请将其存储在某个地方,例如在会话中。

+0

谢谢你的回答,正如我上面回答的那样,这更多是一种好奇而不是需要。 –