>  기사  >  백엔드 개발  >  PHP 304 오류를 처리하는 방법

PHP 304 오류를 처리하는 방법

藏色散人
藏色散人원래의
2022-10-31 10:19:232108검색

PHP 304 오류 설정 방법: 1. 해당 PHP 파일을 엽니다. 2. 시간의 md5 값을 수정합니다. 3. "@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {header( "HTTP /1.1 304 수정되지 않음");exit;" 메소드는 304를 출력합니다.

PHP 304 오류를 처리하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP 304 오류가 보고되면 어떻게 해야 하나요?

php 정적 파일은 304를 반환합니다.

때때로 일부 정적 파일(예: 사진)이 PHP로 출력되며 요청이 모두 200개라는 것을 알 수 있습니다. 서버에서 정적 파일을 요청하는 것은 리소스 낭비입니다. 브라우저에 캐시된 이미지는 어떻게 놔두나요? PHP에서 304를 출력해야 합니다.

이 작업을 수행하려면 PHP에서 etag와 결합된 HTTP_IF_MODIFIED_SINCE를 사용할 수 있습니다. Etag는 명확하게 정의된 형식이 없습니다. 파일 수정 시간의 md5 값을 사용할 수 있습니다.

코드는 다음과 같습니다.

private function _addEtag($file) {
    $last_modified_time = filemtime($file);
    $etag = md5_file($file);
    // always send headers
    header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
    header("Etag: $etag");
    // exit if not modified
    if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time ||
    @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
        header("HTTP/1.1 304 Not Modified");
        exit;
    }
}

코드에서는 정적 파일 전에 호출할 수 있습니다. (사진 등)이 출력됩니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 304 오류를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.