2012-06-26 9 views
5

In Zend Framework in der Antwortklasse gibt es zwei verschiedene Arrays zum Speichern von Kopfzeilen: _headers[] und _headersRaw[]. Und es gibt geeignete Methoden für jede Einstellung ein:Was ist der "rohe HTTP-Header"? Was ist der Unterschied zwischen "HTTP Header" und "Raw HTTP Header"?

setHeader(), getHeaders(), clearHeader() und

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

Was ist der Grund, "Header" und "Raw Header" zu haben? Gibt es in der Praxis für jeden dieser Header eine spezielle Art der Verwendung?

+1

Gibt es dazu keine Informationen im Benutzerhandbuch? (Normalerweise würde ich nur sagen, das Handbuch zu lesen, aber meine Erfahrung mit dem Zend Handbuch ist, dass es bei weitem nicht umfassend ist). – GordonM

Antwort

2

mit setHeader setzen Sie Schlüssel vale Paar, ohne dass es sich Gedanken über zB Formatierung

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

während bei setRawHeader() Sie setzen die gesamte/full-Header, wie es mit der richtigen Formatierung ist

0

I‘ m ein bisschen spät hier ...

Raw bedeutet, dass der Header nicht URL-codiert ist, während, wenn das Wort "roh" weggelassen wird, der Header codiert ist. Zum Beispiel:

$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 

Die Sonderzeichen: /? = Worden URL-codiert als

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

sind.

Verwandte Themen