2017-02-20 4 views
0

여기 내 자바 스크립트 파일에 curl -I 응답입니다 :Cloudfront - 왜 이것이 "브라우저 캐시에 저장되지 않습니까?"

HTTP/1.1 200 OK 
    Content-Type: text/javascript 
    Content-Length: 72640 
    Connection: keep-alive 
    Date: Sat, 18 Feb 2017 16:12:06 GMT 
    Cache-Control: 86400 
    Last-Modified: Wed, 15 Feb 2017 15:09:28 GMT 
    ETag: "a6ee06ff5e49a4290bb2aabe5e0f9029" 
    Server: AmazonS3 
    Vary: Accept-Encoding 
    Age: 1173 
    X-Cache: Hit from cloudfront 
    Via: 1.1 3b17302562f1709d8b6c9f7be1.cloudfront.net (CloudFront) 

내가 거기 Cache-Control 태그를 볼 수 있습니다. VaryETag이 무엇을하고 있는지 확실하지 않지만 그렇게해야합니다. 어떻게 든이 파일을 캐시하지 않도록 사용자의 브라우저에 지정합니까? Pingdom 또는 Goog PageSpeed가 이것을 브라우저 캐시 가능 파일로 인식하지 않는 이유는 무엇입니까?

답변

1

Cache-Control 헤더가 있지만 값이 실제로 유효하지 않습니다. 올바른 형식은 다음과 같습니다.

Cache-Control: max-age=86400 

이 숫자는 의미가 없습니다. 유일하게 주어진 URL의 현재 내용을 식별하는 불투명 한 값 -


ETag:

은 엔터티 태그입니다. 내용이 변경되면 ETag도 변경됩니다. 캐시 된 복사본이있는 브라우저 은이 값을 사용하여 마지막으로 본 ETag를 포함하여 If-None-Match: 요청 헤더를 보내서 서버가 내용을 반환하는 경우에만 요청하는 후속 요청에 사용할 수 있습니다.

Vary:은 브라우저에 요청에 대한 특정 변경 사항이 다른 응답을 생성 할 수 있음을 알립니다. 브라우저와 달리 말풍선은 --compressed 옵션을 지정하지 않으면 gzip으로 표시된 페이로드를 지원하는 기능을 광고하지 않습니다. curl을 호출 할 때 해당 옵션을 추가하면 요청에 Accept-Encoding: gzip이 추가됩니다. 은 CloudFront에서 해당 옵션을 사용하도록 설정 한 경우 응답을 압축합니다.

+0

그게 전부입니다. 내 레이 찰스 순간. 고맙습니다! – PKHunter

+1

또한 Etag와 Vary에 대한 매우 명쾌한 설명은 +1입니다. – PKHunter

관련 문제