7

在 Zend Framework 的响应类中,有两个不同的数组用于存储标头:_headers[]_headersRaw[]. 并且有适当的方法来设置每一个:

setHeader(), getHeaders(), clearHeader()

setRawHeader(), getRawHeaders(), clearRawHeaders().

有“标题”和“原始标题”的原因是什么?这些标头中的每一个在实践中是否有某种特殊的用法?

4

2 回答 2

2

使用 setHeader 你设置键值对而不用担心那里的格式,例如

$this->getResponse()->setHeader('Content-type','json');

而在 setRawHeader() 的情况下,您将整个/完整的标题放在正确的格式下

于 2012-06-26T12:26:25.230 回答
1

我来晚了一点...

Raw 表示标头不是 URL 编码的,而如果省略单词“raw”,则标头是编码的。例如:

$header = 'http://www.mywebsite.com?q=string'; // this is raw, no encoding

echo $header; // no encoding so output is -> http://www.mywebsite.com?q=mystring

echo rawurlencode($header); // URL-encoded so output is -> http%3A%2F%2Fwww.mywebsite.com%3Fq%3Dstring

特殊字符:/?= 已被 URL 编码为

%3A %2F %3F %3D

分别。

于 2015-09-02T21:43:27.260 回答