2012-06-26 19 views
5

In Zend Framework in Response Class ci sono due diversi array per la memorizzazione delle intestazioni: _headers[] e _headersRaw[]. E ci sono metodi appropriati per l'impostazione ognuno:Che cos'è "intestazione HTTP non elaborata"? Qual è la differenza tra "intestazione HTTP" e "intestazione HTTP non elaborata"?

setHeader(), getHeaders(), clearHeader() e

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

Qual è la ragione per avere "header" e "raw header"? Esiste qualche tipo speciale di utilizzo nella pratica per ciascuna di queste intestazioni?

+1

Non ci sono informazioni nella guida dell'utente a riguardo? (Normalmente direi semplicemente di leggere il manuale, ma la mia esperienza con il manuale di Zend è che è tutt'altro che completa). – GordonM

risposta

2

utilizzando SetHeader si imposta coppia di Vale chiave, senza preoccuparsi di non formattazione ad esempio

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

mentre in caso di setRawHeader() si mette l'intero/intestazione completa come lo è con una corretta formattazione

0

I' un po 'tardi qui ...

Raw significa che l'intestazione non è codificata URL, mentre se la parola "raw" è omessa, l'intestazione è codificata. Ad esempio:

$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 

I caratteri speciali: /? = Hanno codifica URL come

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

rispettivamente.

Problemi correlati