당신이 Stackoverflow.com의 소스를 보면 당신은 자신의 CSS 파일에 대한 참조를 볼 수있다 :Stackoverflow와 같은 쿼리 문자열을 사용하여 CSS 파일의 버전을 관리합니까?
가 쿼리 문자열을 통해 버전을 전달하고 올바른 CSS 파일까지 제공 할 수 있도록이 수행되는 방법<link href="/Content/all.min.css?v=2383" rel="stylesheet" type="text/css" />
?
당신이 Stackoverflow.com의 소스를 보면 당신은 자신의 CSS 파일에 대한 참조를 볼 수있다 :Stackoverflow와 같은 쿼리 문자열을 사용하여 CSS 파일의 버전을 관리합니까?
가 쿼리 문자열을 통해 버전을 전달하고 올바른 CSS 파일까지 제공 할 수 있도록이 수행되는 방법<link href="/Content/all.min.css?v=2383" rel="stylesheet" type="text/css" />
?
그래서 브라우저가 css 파일을 캐시하지 않습니다. 버전 번호를 사용하면 CSS 파일이 각 버전에서 변경 될 수 있으므로 편리합니다.
올바른 CSS 파일을 호출하는 방법이 아닙니다. 파일은 항상 같지만 버전 번호는 브라우저에서 다르게 생각하고 다시 가져옵니다.
This (PHP example) 기사 뒤에 아이디어가 있습니다. 기본적으로 파일을 마지막으로 수정 한 타임 스탬프가 발생할 수 있습니다. 이렇게하면 CSS를 변경할 때마다 쿼리 문자열이 바뀌고 브라우저가 새 버전을 다운로드하게됩니다. 이것은 CSS와 JS 파일 모두에 유효합니다.
ASP.NET 샘플은 이것이다 :
public static string GetBreaker(string fileName)
{
string cacheBreaker = null;
try
{
if (fileName.StartsWith("~"))
{
fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName.Remove(0));
}
cacheBreaker = File.GetLastWriteTime(fileName).ToFileTime().ToString();
}
catch { }
return string.IsNullOrEmpty(cacheBreaker) ? string.Empty : string.Format("?cachebreaker={0}", cacheBreaker);
}
그리고 당신은 이런 방식으로 MasterPage에서이 메서드를 호출 : 당신이 그것을 수행하는 방법, 그들은 곧 알고 싶다면
<link href="<%= this.ResolveClientUrl("~/CSS/style.css") %><%=CacheBreaker.GetBreaker("~/CSS/style.css") %>"
rel="stylesheet" type="text/css" />
이전 블로그 항목에서 언급했습니다. 빌드 프로세스에 의해 자동으로 수행됩니다. See this blog post (세 번째 글 머리 기호).
불행히도 세부 사항은 없지만 블로그 게시물에 댓글을 달거나 stackoverflow 팀에 문의하여 자세한 정보를 얻을 수 있습니다.
동일한 효과를 얻기 위해 파일을 변경할 때마다 파일 이름을 변경하는 것이 더 쉬울 수 있습니다.
file001.css
file002.css
나는 같은 파일 이름을 유지하고 ?ver=1234
를 추가하는 소스 제어 쉽게하는 것입니다 느낌이있다.
이 초기 질문에 대한 설명을 참조하십시오 : [CSS 링크에서 무엇입니까?] (http://stackoverflow.com/questions/438821/what-does-do-in-a-css-link/438828 # 438828) –
그래서이 경우 무엇입니까? 동적으로 생성 되었습니까? – mmcdole
그 대답에 묘사 된대로 거의 확실하지 않습니다. –