2012-06-26 23 views
5

Trong khung công tác Zend trong lớp phản hồi có hai mảng khác nhau để lưu trữ tiêu đề: _headers[]_headersRaw[]. Và có những phương pháp thích hợp cho việc thiết mỗi người:"Tiêu đề HTTP thô" là gì? Sự khác biệt giữa "tiêu đề HTTP" và "tiêu đề HTTP thô" là gì?

setHeader(), getHeaders(), clearHeader()

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

Lý do để có "tiêu đề" và "tiêu đề thô" là gì? Có một số cách sử dụng đặc biệt trong thực tế cho từng tiêu đề này không?

+1

Không có thông tin trong hướng dẫn sử dụng về điều này? (Thông thường tôi chỉ nói đọc hướng dẫn sử dụng, nhưng kinh nghiệm của tôi về hướng dẫn sử dụng Zend là nó hoàn toàn xa vời). – GordonM

Trả lời

2

sử dụng setHeader bạn thiết lập cặp thung lũng chìa khóa mà không lo lắng về có định dạng ví dụ

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

trong khi trong trường hợp setRawHeader() bạn đặt toàn bộ/full tiêu đề vì nó là với các định dạng thích hợp

0

tôi m hơi muộn ở đây ...

Nguyên có nghĩa là tiêu đề không được mã hóa URL, trong khi nếu từ "nguyên" bị bỏ qua, tiêu đề được mã hóa. Ví dụ:

$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 

Ký tự đặc biệt: /? = Đã được URL mã hóa như

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

tương ứng.