2012-06-26 12 views
5

W Zend Framework w klasie odpowiedzi dostępne są dwie różne tablice do przechowywania nagłówków: _headers[] i _headersRaw[]. I istnieją odpowiednie metody ustalania każdy:Co to jest "surowy nagłówek HTTP"? Jaka jest różnica między "nagłówkiem HTTP" a "nieprzetworzonym nagłówkiem HTTP"?

setHeader(), getHeaders(), clearHeader() i

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

Jaki jest powód, aby mieć "nagłówek" i "nagłówek"? Czy jest jakiś specjalny rodzaj użycia w praktyce dla każdego z tych nagłówków?

+1

Czy w przewodniku użytkownika nie ma żadnych informacji? (Normalnie chciałbym tylko powiedzieć, że przeczytałem instrukcję, ale moje doświadczenie w podręczniku Zend jest takie, że daleko jej do wszechstronności). – GordonM

Odpowiedz

2

użyciu setHeader parę kluczy vale ustawić bez obawy, że formatowanie np

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

natomiast w przypadku setRawHeader() można umieścić cały/pełny nagłówek, jak to jest z właściwego formatowania

0

I” trochę za późno ...

Raw oznacza, że ​​nagłówek nie jest zakodowany za pomocą adresu URL, natomiast jeśli słowo "raw" zostanie pominięte, nagłówek zostanie zakodowany. Na przykład:

$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 

Znaki specjalne: /? = Zostały Zakodowany jak

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

odpowiednio.