모든 헤더 정보는 자동으로 $http_response_header 변수에 저장되며, 이로 HTTP 응답 헤더정보를 볼 수 있게 되었습니다. gmail에 접속하면 다음과 같은 응답을 받게 됩니다.

예제 (ex #1
 <?php
 file_get_contents
("http://gmail.com"
);
 
print_r($http_response_header
);

 
/*
 결과:
 Array
 (
    [0] => HTTP/1.0 301 Moved Permanently
    [1] => Location: http://mail.google.com/mail/
    [2] => Content-Type: text/html; charset=UTF-8
    [3] => X-Content-Type-Options: nosniff
    [4] => Date: Wed, 04 May 2011 17:58:11 GMT
    [5] => Expires: Fri, 03 Jun 2011 17:58:11 GMT
    [6] => Server: sffe
    [7] => Content-Length: 225
    [8] => X-XSS-Protection: 1; mode=block
    [9] => Cache-Control: public, max-age=2592000
    [10] => Age: 52305
    [11] => HTTP/1.0 302 Moved Temporarily
    [12] => Content-Type: text/html; charset=UTF-8
    [13] => Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    [14] => Pragma: no-cache
    [15] => Expires: Fri, 01 Jan 1990 00:00:00 GMT
    [16] => Date: Thu, 05 May 2011 08:29:56 GMT
    [17] => Location: https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=llya694le36z&scc=1&ltmpl=default&ltmplcache=2
    [18] => Content-Length: 408
    [19] => X-Content-Type-Options: nosniff
    [20] => X-Frame-Options: SAMEORIGIN
    [21] => X-XSS-Protection: 1; mode=block
    [22] => Server: GSE
 )
 */
 
?>

다음은 habony.tistory.com에 응답 헤더를 보겠습니다.

예제 (ex #2
 <?php
 file_get_contents
("http://habony.tistory.com"
);
 
print_r($http_response_header
);

 
/*
 결과:
 Array
 (
    [0] => HTTP/1.1 200 OK
    [1] => Date: Thu, 05 May 2011 08:27:25 GMT
    [2] => Server: Apache
    [3] => Set-Cookie: TSSESSION=7c3acd117e518c4b; path=/; domain=tistory.com
    [4] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
    [5] => Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    [6] => Pragma: no-cache
    [7] => Set-Cookie: visited_new=1304584045; expires=Thu, 05-May-2011 15:00:00 GMT; path=/; domain=habony.tistory.com
    [8] => Connection: close
    [9] => Content-Type: text/html; charset=utf-8
 )
 */
 
?>

array get_headers ( string $url [, int $format= 0 ] ) (PHP 5)

get_headers
함수로도 이와 같은 비슷한 기능을 흉내낼 수 있습니다. format인자로 정돈된 데이터를 받게 됩니다.

예제 (ex #3

 <?php
 $data 
get_headers("http://daum.net"1
)
 
print_r($data
);

 
/*
 결과:
 Array
 (
    [0] => HTTP/1.1 302 Object Moved
    [Location] => http://www.daum.net/
    [Content-Type] => Array (
            [0] => text/html
            [1] => text/html; charset=utf-8
    )
    [Cache-Control] => Array (
            [0] => private
            [1] => no-cache, no-store, must-revalidate
    )
    [Connection] => Array (
            [0] => close
            [1] => close
    )
    [1] => HTTP/1.1 200 OK
    [Date] => Thu, 05 May 2011 08:46:07 GMT
    [Server] => Apache
    [Expires] => Sat, 01, Jan 1970 22:00:00 GMT
    [Pragma] => no-cache
    [P3P] => CP="ALL DSP COR MON LAW IVDi HIS IVAi DELi SAMi
 OUR LEG PHY UNI ONL DEM ST
 A INT NAV PUR FIN OTC GOV" [Set-Cookie] => dtck_seq=0; path=/; expires=Sat, 04-Jun-2011 08:46:07 GMT; domain=www.daum.net [Vary] => Accept-Encoding
 )
 */
 
?> 

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요