2014-04-11 2 views
-1

AngularJs 프레임 워크를 사용하여 웹 응용 프로그램을 개발하고 있습니다. 나는 현재 웹 캐싱을 방지하는 방법을 알아 내려고 노력하고 있으며, 내 파일 이름 앞에 해쉬를 설정하여 그렇게하고있다.브라우저에서 어떤 파일을 캐시합니까?

http://davidtucker.net/articles/automating-with-grunt/#workflowCache, 다른 종류의 내 질문은

이 : 내가 지금까지 본 어떤

대부분의 사람들은 여기에 예를 들어, 화상 -, javascript-과 CSS-파일에 대해이 작업을 수행 할 것입니다 내가 고려해야 할 파일들? 웹 브라우저에서 html 파일도 캐시하지 않습니까?

+1

파일/파일 형식을 무시하려고하지 않습니까? 이 경우 모든 파일에 대해 동일한 작업을 수행해야합니다.하지만 콘텐츠가 너무 많이 변경되어 사용자가 아무 것도 캐시 할 필요가 없다면 매우 나쁜 습관입니다. –

+0

프로젝트가 많은 장소에서 사용되는 많은 부분적인 html 파일을 포함하고 있기 때문에 html 파일의 캐싱을 막아야하는지 궁금합니다. 캐시 된 경우 잠재적으로 관리하기가 어려울 수 있습니다 .. 짧게는 기대하고 있습니다. AngularJs에는 정보를 찾을 수없는 브라우저 캐싱을 처리 할 수있는 내장 된 방법이 있습니다. – user1354603

답변

1

Optimizing Caching에 대한 Google의 가이드 라인을 따르십시오.

핵심 사항 :

  • 설정 캐싱 헤더 적극적으로 모든 정적 자원합니다. 는 캐시 가능한 모든 자원을 위해, 우리는 다음과 같은 설정을 권장합니다

    • 설정은 미래에, 바람직하게는 1 년까지 1 개월 최소 만료. (우리는 Cache-Control에 대한 만료를 선호합니다 : 더 넓게 지원되기 때문에 max-age입니다.)
    • RFC 지침을 위반하기 때문에 앞으로 1 년 이상으로 설정하지 마십시오.
    • 리소스가 변경 될시기를 정확히 알고있는 경우 만료 기간을 짧게 설정하면됩니다. 하지만 "빨리 변경 될 수 있습니다"라고 생각하지만 언제 알지는 못합니다. 긴 만료 기간을 설정하고 URL 지문을 사용해야합니다 (아래 설명 참조). 적극적으로 캐싱을 설정해도 브라우저 캐시가 "오염"되지 않습니다. 모든 브라우저는 최소 최근 사용 알고리즘에 따라 캐시를 지 웁니다. 자원을 제거하기 전에 자원이 만료 될 때까지 기다리는 브라우저는 알 수 없습니다.
  • 자원이을 마지막으로 변경된 시간에 마지막으로 수정 된 날짜를 설정 : 마지막으로 수정 된 날짜가 한참 지난 경우, 기회는 브라우저를 다시 가져 오는 경우는 거의 없습니다.

  • 를 사용하여 지문 동적 캐싱을 사용하려면 다음이 서버가 새 버전을 사용할 수있는 브라우저에 지시하는 시점에서 서버에서 변경 될 때까지 때때로 변경 자원의 경우, 브라우저 캐시에게 자원을 가질 수 있습니다. 리소스의 지문을 URL (즉 파일 경로)에 포함시켜이를 수행합니다. 리소스가 변경되면 지문도 변경되고 URL도 변경됩니다. URL이 변경되는 즉시 브라우저는 자원을 다시 가져와야합니다. 지문 채취를 사용하면보다 자주 변경되는 자원의 경우에도 장래에 만료 날짜를 설정할 수 있습니다. 물론이 기술을 사용하면 리소스를 참조하는 모든 페이지에서 핑거 프린트 된 URL에 대해 알 필요가 있습니다. 이는 페이지 코딩 방법에 따라 가능하거나 그렇지 않을 수도 있습니다.

특히 상호 운용성과 관련하여 Google의 전체 기사를 읽으십시오.

관련 문제