2011-05-14 5 views
2

JQuery와는 당신이 할 수있는 가능성을 제공합니다캐시 시간이있는 최신 jquery에 대한 cdn이 있습니까?

<script src="http://code.jquery.com/jquery-latest.js"></script> 

문제는 해당 파일이없는 만료 날짜가, 그래서 클라이언트는 항상 필요합니다.

다른 옵션은 일년이

그래서, 누군가가 어떤 캐시 시간 JQuery와 - latest.js을 제공하는 CDN을 알고 만료 것을 http://ajax.googleapis.com/ajax/libs/jquery/x.x.x/jquery.min.js입니까? 멀리 미래를 지정하는 헤더를 만료하는 이유는 성능을 향상

+0

서버에 캐시 시간이없는 이유는 무엇입니까? CDN의 경우 최종 사용자와 CDN간에 문제가됩니다. 왜 그렇게 걱정합니까? 그 외에도 최종 사용자는 오래된 문서를 원할 경우 항상 요청할 수 있으며 오래된 문서를 사용하기로 결정할 수 있습니다. –

+4

소프트웨어에 대해 테스트 한 특정 버전이 아닌 최신 버전의 jQuery를 사용 하시겠습니까? –

+0

URL은 언제든지 다른 비트를 제공 할 수 있으므로이 방법 (캐시 없음)이어야합니다. 정규화 된 버전 번호는 현재와 미래에 동일한 비트를 제공하므로 모든 길이의 캐시가 정상적으로 처리되어야합니다. –

답변

22

호는이 기간 만료 내에서 인 경우에 브라우저가 즉시 해당 파일의 로컬 복사본을 사용할 수 있다는 것입니다. 브라우저는 HTTP 요청을 전혀하지 않으며 304 "Not Modified"응답도 확인하지 않습니다.

즉 성능 최적화 된 만료 헤더로 "최신 버전"참조를 제공 할 수 없음을 의미합니다. 그렇다면 특정 브라우저가 참조 용으로 어떤 버전의 파일을 사용하고 있는지 보장 할 수 없습니다.

프로덕션 환경에서는 항상 "최신판 가져 오기"참조 중 하나가 아닌 완전한 x.y.z 버전 번호를 사용해야합니다. Google의 CDN은 와 함께 jQuery를 제공합니다. 헤더는 공개 CDN의 교차 사이트 캐싱 가능성과 결합하여이를 참조 할 때 만료되므로 대부분의 사용자가 jQuery에 대한 HTTP 요청을하지 않아도됩니다. 당신의 위치에 전혀.

+0

남자 캐시 작동 방식에 대한 설명이 필요하지 않습니다. jquery-lastest.js도 +1 시간 만료 될 수 있기 때문에 전적으로 동의하지 않습니다. 개발자는 새로운 jquery를 릴리스 한 후 사용자 캐시에 항상 업데이트된다는 것을 알기 위해 1 시간 기다려야합니다. 문제가있는 경우) – dynamic

+0

성능 최적화 (CDN의 요점)에 신경 쓰는 경우 +1 시간이 만료되는 시간이 제작시 목표로 삼아야 할 시간보다 훨씬 짧습니다. –

+0

어쩌면 1h가 짧습니다. 그러나 1day는 좋은 imo 일 것입니다. – dynamic

관련 문제