* .png 그림을 생성하는 PHP 스크립트가 있는데 이 아니고은 서버에 저장합니다. 해당 사진은 동일한 사용자에게 반복해서 표시됩니다. 나는 캐시 그 사진을 찾는 방법을 찾고 있어요. 304 상태 헤더를 보낼 수 있지만 브라우저는 처음 새로 고침 할 때 캐시 된 것으로 웹 페이지를 선언하지만 웹 페이지는 공백으로 표시됩니다. Web-inspector를 두 번째 새로 고친 후에도 아무 것도 표시되지 않습니다.동적으로 생성 된 이미지를 캐시하는 방법은 무엇입니까?
누군가 나를 도울 수 있고 내가 엉망인 곳을 말할 수 있습니까?
노트 :
- 나는 this post을 읽었습니다하지만 나에게 도움이되지 않았다.
- MAMP (PHP 버전 7.0.10) 사용
- 나는 못생긴 코드에 대한 사과입니다. 여기
파일의 메인 라인이다 : 당신의 도움에 대한
session_start();
header("Content-type: image/jpeg");
//A little require_once() here on some functions stored in an other file.
$originalSource = getSource($_GET['src']);
if (isset($_COOKIE[sha1($originalSource)]) && $_COOKIE[sha1($originalSource)]) {
header("HTTP/1.1 304 Not Modified");
die;
} else {
setcookie (sha1($originalSource), true, time()+10);
$offset = 10;
$expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($expire);
header("Cache-Control: max-age=".$offset);
header("Last-Modified: Wed, 25 Feb 2015 12:00:00 GMT");
}
//The entire image generation process after this
감사
당신이 @deceze 감사합니다! 그래서 내 코드는 이제 [this] (http://pastebin.com/7NwDTerH)처럼 보입니다. 하지만 여전히 캐시하지 않습니다. [These] (http://pastebin.com/W9812psa)는 내가받는 헤더입니다. 1. MAMP에서 "APC"또는 "OPCache"를 활성화해야합니까? 2.'session_start();'가 필요합니까? 3.'Pragma = no-cache'로 인해 문제가 발생합니까? 많은 양의 질문에 사과드립니다. – Faegy
APC 등은이 종류의 캐시와 관련이 없습니다. 그리고 네,'Pragma no-cache'는 여기서 비생산적인 것처럼 보입니다. – deceze
또한 '날짜'와 '만료'는 동일하므로 즉시 만료됨을 유의하십시오. – deceze