2012-06-26 22 views
5

En Zend Framework en Response Class, hay dos matrices diferentes para almacenar encabezados: _headers[] y _headersRaw[]. Y hay métodos apropiados para el establecimiento de cada uno:¿Qué es el "encabezado HTTP sin procesar"? ¿Cuál es la diferencia entre "encabezado HTTP" y "encabezado HTTP sin procesar"?

setHeader(), getHeaders(), clearHeader() y

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

¿Cuál es el motivo para tener "encabezado" y "encabezado sin procesar"? ¿Existe algún tipo especial de uso en la práctica para cada uno de estos encabezados?

+1

¿No hay información en la guía del usuario al respecto? (Normalmente, solo diría que lea el manual, pero mi experiencia con el manual de Zend es que está lejos de ser completo). – GordonM

Respuesta

2

usando setHeader que establece par Vale clave sin tener que preocuparse acerca de la existencia formato, por ejemplo

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

mientras que en caso de setRawHeader() se pone el conjunto/cabecera completa como lo es con formateo adecuado

0

I' m un poco tarde aquí ...

En bruto significa que el encabezado no tiene codificación URL, mientras que si se omite la palabra "sin procesar", el encabezado está codificado. Por ejemplo:

$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 

Los caracteres especiales: /? = Han sido URL codificada como

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

respectivamente.

Cuestiones relacionadas