什么是“原始的HTTP标头”? 什么是“HTTP标头”和“原始的HTTP标头”之间的区别?(Wh

2019-07-30 03:36发布

在响应类Zend框架有用于存储头两个不同的阵列: _headers[]_headersRaw[] 而且还有用于设置每一个适当的方法:

setHeader(), getHeaders(), clearHeader()

setRawHeader(), getRawHeaders(), clearRawHeaders()

什么是有“头”和“RAW头”的原因是什么? 有没有在实践中一些特殊的一种用法为这些头?

Answer 1:

使用您的setHeader设置键淡水河谷对,而不用担心有格式如

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

而在setRawHeader()的情况下,你把整个/完整标题,因为它是适当格式化



Answer 2:

我有点晚了这里...

生表示该标题不URL编码,而如果字“原始”被省略,报头进行编码。 例如:

$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

分别。



文章来源: What is the “raw HTTP header”? What is the difference between “HTTP header” and “raw HTTP header”?