PHP 304 오류 설정 방법: 1. 해당 PHP 파일을 엽니다. 2. 시간의 md5 값을 수정합니다. 3. "@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {header( "HTTP /1.1 304 수정되지 않음");exit;" 메소드는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!