나는 Ajax 요청 여부에 따라 캐시 가능한 콘텐츠를 제공하려고합니다.PHP/Ajax "Vary : X-Requested-With"가 저를 위해 작동하지 않습니다!
시나리오 :
약간의 PHP 스크립트 "/test.php는"일부 HTML 출력을 제공하며 설정 다음 헤더 :
Expires Wed, 23 Feb 2011 13:30:06 GMT
Cache-Control public, max-age=60
Vary X-Requested-With,Accept-Encoding
출력이 $_SERVER['HTTP_X_REQUESTED_WITH']
상태에 따라 달라집니다.
내 Firefox가 URL을 가리키면 출력이 나오고 다음 분 동안 브라우저 캐시와 동일한 결과를 얻습니다. 서버를 치지 않습니다. 좋아, 지금까지.
XMLHttpRequest
(X-Requested-With: XMLHttpRequest
헤더 포함)을 통해 동일한 리소스를 요청하면 내 Firefox는 서버를 요청하지 않지만 캐시의 (잘못된) 응답을 제공합니다!
다른 방법으로는 동일합니다. 자원의 Ajax 호출이 캐시를 채우고 후속 브라우저 요청은 캐시의 (잘못된) 응답을 제공합니다.
누구든지이 주제에 대한 경험이 있습니까? 나는 이것이 공통된 문제가되어야한다고 생각한다 - 같은 URL에서 아약스 여부에 따라 콘텐츠를 제공한다.
인사, Ilja
Firefox는 초기 Ajax 요청을 보내지도 않습니까? – Gumbo