2011-10-06 4 views
22

일부 웹 사이트에서는 CSS 파일 경로에 버전 번호 (특히)를 넣었습니다. 예 :CSS 파일 경로에 버전 번호를 추가하는 이유는 무엇입니까?

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" /> 

버전 번호를 지정하는 주 목적은 무엇입니까? CSS 파일이 마지막으로 업데이트 된 시점을 기억하는 것이 목적이라면 버전 번호를 CSS 파일에 주석으로 추가하지 않아야합니까?

+0

[링크 및 스크립트 태그의 CSS 및 자바 스크립트 URL에 추가되는 "? v = 1"은 무엇입니까?] (http://stackoverflow.com/questions/3466989/what-does-appending-v- 1-to-css-and-javascript-urls-in-link-and-script-tags-do) – zanetu

답변

38

'? V = 1'? = 1 "자바 스크립트 CSS를 캐시해야하는 이유는 무엇 와 자바 스크립트/CSS 버전 제어 캐시 우회

입니다 웹

무엇

V 페이지 디자인은 을 더 풍부하고 풍부하게합니다. 이는 페이지에서 더 많은 스크립트와 스타일 시트를 의미합니다. 페이지를 처음 방문하는 사용자는 여러 개의 HTTP 요청을해야 할 수 있지만 Expires 헤더를 사용하면 해당 구성 요소를 캐시 할 수 있습니다. 이것은 unnece를 피한다. 다음 페이지의 ssary HTTP 요청은 뷰입니다. 만료 헤더는 대부분 이미지와 함께 사용되지만 스크립트, 스타일 시트 등을 포함한 모든 구성 요소에 을 사용해야합니다.

HTML5 상용구가 어떻게 JavaScript CSS 캐시를 처리합니까? HTML5 상용구에는 서버 구성 파일 인 .htacess, web.config 및 nginx.conf가 함께 제공됩니다. 이 파일은 서버에 JavaScript CSS 캐시 제어를 추가하도록 지시합니다.

언제 캐시 버스트 기능이있는 버전 컨트롤을 사용해야합니까? 전통적으로 먼 미래 Expires 헤더를 사용하는 경우 구성 요소가 변경 될 때마다 구성 요소의 파일 이름을 변경해야합니다.

캐시 버스터 사용 방법은 무엇인가요? JavaScript 또는 CSS를 업데이트하면 은 "? v = 1"을 "? v = 2", "? v = 3"으로 업데이트합니다 ... 브라우저를 속이게됩니다 새 파일을로드하려고합니다. 따라서 캐시 문제를 해결하십시오.

+9

PHP로 저장시 버전 번호를 변경하도록 동적으로 할 수 있습니다. 아래는 WordPress의 예입니다. 'link rel = "stylesheet"href = " Justin

+0

버전 변수를 어떻게 추가 할 수 있습니까? 나는 그것이 어떻게 작동 하는지를 의미한다. 감사 –

5

현재 버전이 있는지 확인하는 것이 좋습니다. 이전과 같이 웹 사이트를 변경하고 이름을 그대로 사용하면 브라우저가 변경 사항을 인식하지 못하고 캐시에서 이전 CSS를 사용할 수 없습니다. 버전을 추가하면 브라우저가 새 스타일 시트를 다운로드합니다. http://html5boilerplate.com/docs/Version-Control-with-Cachebusting/에서

1

이것은 브라우저 캐싱을 최적화하기위한 것입니다. css 파일의 헤더를 만료되지 않도록 설정할 수 있으므로 브라우저는 캐시에서 캐시를 가져옵니다.

그러나 이렇게하면 일부 브라우저에서 변경 사항을 알지 못하기 때문에 CSS 파일을 변경할 때 문제가 발생합니다. 버전 매개 변수를 추가/변경하여 "다른"요청이므로 cahe에서 가져 오지 않습니다 (하지만 새 버전이 캐시 된 후에는 향후 버전에서 대역폭/요청 수가 저장 될 때까지 버려집니다) 다시 변경됨).

자세한 설명

은 내 지식은 거의 웹 사이트에 대한 구식이다 html5boilerplate.com

0

에서 foudn 수 있지만 'HREF'인수에 저장된 변수는 HTTP를 통해 브라우저에 의해 수신된다. URL 재 작성에 일반적인 트릭을 사용하면 실제로 호출 할 때 CSS 출력을 생성하는 임의의 스크립트를 가질 수 있습니다. 그 출력은 인수에 따라 다를 수 있습니다.

2

확인이 비디오 파일 캐싱을 우회 할 수 있습니다. 동일한 이름의 CSS 파일은 서버에 의해 캐싱 될 수 있으며 새 버전에 레이아웃이 변경되면 잘못된 표시가 발생할 수 있습니다.

관련 문제