2011-08-12 9 views

답변

6

간단합니다. 캐시 제어 메커니즘입니다.

새로운 버전의 Prototype을 설치하면 해당 번호가 변경되고 브라우저는 새 버전을 다운로드하게됩니다.

(이론적으로 HTTP 헤더를 사용하여 캐싱을 제어 할 수 있지만 실제로는 매우 다양한 브라우저, 캐시, 프록시 등 다양한 방식으로 작동합니다.) 리소스가 변경되면 리소스가 변경되어 새로운 버전의 리소스가 사용될 것임을 보장합니다.)

+1

다른 사람들이 말한 것을 추가하면이 경우 유닉스 타임 스탬프가됩니다. 앞으로 체크섬이 될 것입니다 (Rails 3.1은 MD5를 사용합니다). 중요한 차이점은 파일이 다시 저장 되더라도 내용이 변경되지 않으면 방문자가 다시 다운로드하지 않는다는 것입니다. 핑거 프린팅 (fingerprinting)이라고하며 [Rails에는 사용 이유를 설명하는 가이드가 있습니다.] (http://ryanbigg.com/guides/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care). (타임 스탬프가 지정된 쿼리 문자열 사용에 대한주의 사항에 유의하십시오.) – brymck

1

정적 파일에 추가되는 추가 쿼리 문자열은 Rails에서 제공하지 않는 정적 파일을 캐싱하는 데 사용됩니다 그 모든 것을 자주 바꿔라. 추가되는 해시는 일종의 지문입니다. 해당 파일의 내용이 변경되면 해당 해시가 변경됩니다.

조금 더 자세한 정보는 this을 확인하십시오.

1

유닉스 타임 스탬프처럼 보입니다 (월요일, 02 5 월 2011 09:44:23 GMT). 요청 시간 또는 파일 작성 시간이 될 수 있습니다. 타임 스탬프를 추가하는 이유는 브라우저가 쉽게 파일을 다시 가져 오도록 강제 할 수 있기 때문입니다. 숫자 순서가 변경되면 다른 요청으로 간주되며 브라우저는 단순히 파일을 다시 페치합니다. 이렇게하면 파일이 변경 될 때 캐싱 문제가 발생하지 않습니다.

관련 문제