브라우저가 캐시를 지우도록 강제


283

누군가가 사이트를 방문 할 때 브라우저 캐시를 지우고 변경 사항을 볼 수 있도록 내 페이지에 코드를 넣을 수있는 방법이 있습니까?

사용되는 언어 : ASP.NET, VB.NET, 물론 HTML, CSS 및 jQuery


"캐시 지우기 '에 대한 좋은 솔루션 또는 해결 방법은 여기에서 찾을 수 있습니다 : stackoverflow.com/a/43676353/2008111
CARAMBA

답변:


350

이와 관련 .css하여 .js변경되는 경우, "캐시 버스 팅"방법은 _versionNo각 릴리스의 파일 이름에 " " 와 같은 것을 추가하는 것 입니다. 예를 들면 다음과 같습니다.

script_1.0.css // This is the URL for release 1.0
script_1.1.css // This is the URL for release 1.1
script_1.2.css // etc.

또는 파일 이름 다음에 수행하십시오.

script.css?v=1.0 // This is the URL for release 1.0
script.css?v=1.1 // This is the URL for release 1.1
script.css?v=1.2 // etc.

링크 를 확인하여 어떻게 작동하는지 확인할 수 있습니다.


10
이것은 상당히 좋은 솔루션이며 빌드 시스템에 의해 자동화 될 수도 있습니다. 예를 들어 Stackoverflow는이 방법을 사용합니다.
derobert

7
그래서 지금 GET 인수를 사용하고 있습니다.
Saeb Amini

60
더 좋은 방법은 파일 이름을 그대로 유지하지만 버전 번호를 쿼리 문자열 매개 변수로 추가하는 것 script.js?v=1.2입니다. (또는 버전을 추적하지 않는 경우 파일을 마지막으로 수정 한 시간 만 사용하면 훨씬 쉽습니다.) 그것이 이전 주석가의 의미인지 확실하지 않습니다!
Doin

5
모든 사람이 버전 관리를 통해이를 어떻게 수행합니까? 진짜 고통처럼 보입니다.
Shawn

1
@Shawn Version-control 현명하게 <link />태그를 동적으로 렌더링 하고 애플리케이션 버전을 쿼리 문자열 매개 변수로 삽입 할 수 있습니다. 또는 일부 CMS에는 추가 된 CMS 전체 설정으로 "클라이언트 리소스 버전"이 있습니다. 사이트 관리자는 해당 버전 nr을 수동으로 늘릴 수 있으며 CMS 업데이트도 자동으로 업데이트 할 수 있습니다. 결론 : 파일 URL을 동적으로 렌더링해야합니다.
Jeroen

103

로 봐 캐시 제어 하고, 만료 메타 태그를 .

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">

또 다른 일반적인 관행은 끊임없이 변경되는 문자열을 요청 된 파일의 끝에 추가하는 것입니다. 예를 들어 :

<script type="text/javascript" src="main.js?v=12392823"></script>


44
이것은 이미 캐시되어있는 경우에 큰 도움이되지 않습니다. 캐시되어 있기 때문에 서버가 쿼리되지 않으므로 캐시 없음으로 응답 할 수 없습니다. 또한 메타 태그는 실제로 사용해서는 안되며 메모에 따르면 웹 캐시와 충돌합니다.
derobert

1
derobert가 말한 내용 +1 클라이언트 및 웹 캐시에 캐시 정책을 제안하기 위해 항상 HTTP 헤더를 사용하는 것이 좋지만 캐시 재로드를 강제로 수행하지는 않습니다.

4
두 번째 솔루션에 +1 이 문제는 일부 관리자가 업데이트를 한 후에 만 ​​캐시를 비워야한다는 문제가 있습니다. 이 접근법은 다음을 해결해야합니다.
Jules Colle

캐시를 완전히 비활성화하는 것은 일반적으로 나쁜 생각입니다.
Jordan

73

2012 업데이트

이것은 오래된 질문이지만 웹 사이트 캐싱을보다 잘 제어 할 수있는 방법이 있기 때문에 최신 답변이 필요하다고 생각합니다.

에서 오프라인 웹 응용 프로그램 (정말 어떤 HTML5 웹 사이트입니다)applicationCache.swapCache() 수동으로 페이지를 다시로드 할 필요없이 웹 사이트의 캐시 된 버전을 업데이트하는 데 사용할 수 있습니다.

다음은 HTML5 Rocks 에서 초보자를위한 응용 프로그램 캐시 사용에 대한 코드 예제로, 사용자를 최신 버전의 사이트로 업데이트하는 방법을 설명합니다.

// Check if a new cache is available on page load.
window.addEventListener('load', function(e) {

  window.applicationCache.addEventListener('updateready', function(e) {
    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      // Swap it in and reload the page to get the new hotness.
      window.applicationCache.swapCache();
      if (confirm('A new version of this site is available. Load it?')) {
        window.location.reload();
      }
    } else {
      // Manifest didn't changed. Nothing new to server.
    }
  }, false);

}, false);

응용 프로그램 캐시 사용을 참조하십시오. 정보는 Mozilla Developer Network .

2016 업데이트

웹에서 상황이 빠르게 바뀝니다. 이 질문은 2009 년에 요청되었으며 2012 년에 질문에 설명 된 문제를 처리하는 새로운 방법에 대한 업데이트를 게시했습니다. 또 다른 4 년이 지났는데 이제는 더 이상 사용되지 않는 것 같습니다. cgaldiolo 덕분에의견에서 지적 해 에게 .

현재 2016 년 7 월 현재 HTML 표준, 섹션 7.9, 오프라인 웹 응용 프로그램 에는 사용 중단 경고가 포함되어 있습니다.

이 기능은 웹 플랫폼에서 제거되고 있습니다. (이 과정은 오랜 시간이 걸립니다.) 현재 오프라인 웹 응용 프로그램 기능을 사용하지 않는 것이 좋습니다. 대신 서비스 직원을 사용하십시오.

2012 년에 언급 한 Mozilla 개발자 네트워크 에서 응용 프로그램 캐시 사용도 마찬가지입니다 .

더 이상 사용되지 않음
이 기능은 웹 표준에서 제거되었습니다. 일부 브라우저는 여전히이를 지원할 수 있지만 삭제되는 중입니다. 오래된 프로젝트 나 새로운 프로젝트에서는 사용하지 마십시오. 이를 사용하는 페이지 또는 웹 앱은 언제든지 중단 될 수 있습니다.

서비스 워커 페치 차단이 활성화 된 경우 버그 1204581-AppCache에 대한 지원 중단 알림 추가를 참조하십시오 .


1
이것이 캐시 매니페스트 파일을 사용하고 유지 관리해야 함을 의미합니까?
Sam

경고 : 응용 프로그램 캐시 (AppCache) 인터페이스는 더 이상 사용되지 않습니다
cgaldiolo

59
그렇다면 2017 년 현재의 권장 사항은 무엇입니까?
개럿

이 주제에서 볼 수있는 주요 문제점은 사용자 디바이스의 내부 메모리가 가득 차서 뷰어가 사용중인 디바이스가 캐시 된 버전을 계속 사용하는 경우입니다. 캐시 된 버전의 페이지에 붙어서 문서의 요소를 업데이트하지 않는 것 같습니다. 이것은 크롬에서만 발생합니까 ?? 그게 유일한 브라우저 애버가 그것을 경험했습니다.
user2585548

4
2017 : 서비스 워커 사용.
digitai

27

그렇지 않습니다. 한 가지 방법은 컨텐츠를 제공 할 때 적절한 헤더를 전송하여 브라우저를 강제로 다시로드하는 것입니다.

모든 브라우저에서 웹 페이지가 캐시되지 않도록하십시오.

에 대한 검색 "cache header"SO에서 하거나 이와 비슷한 것을 찾으면 ASP.NET 관련 예제를 찾을 수 있습니다.

덜 깨끗하지만 때로는 서버 측에서 헤더를 제어 할 수없는 경우 유일한 방법은 호출되는 리소스에 임의의 GET 매개 변수를 추가하는 것입니다.

myimage.gif?random=1923849839

2
파일의 버전을 올바르게 지정하는 것이 좋습니다. 이는 대역폭을 상당히 낭비하는 것이며, 더 중요한 것은 사이트 속도를 크게 저하시키는 것입니다.
derobert

8
그것은 실제로 상황에 달려 있지 않습니까? CMS를 프로그래밍하고 변경된 모든 리소스가 제대로 업데이트되도록해야하는 경우 이러한 두 가지 옵션 중 하나를 해결할 방법이없는 경우가 있습니다.
Pekka

이와 같은 솔루션은 부정적인 것으로 투표되어야합니다. 인터넷의 이산화탄소 발자국을 가능한 낮게 유지하는 것은 우리에게 달려 있습니다.
타이밍

14

들어 정적 리소스 바로 캐싱하는 것입니다 쿼리 매개 변수를 사용하여 각 배포 또는 파일 버전의 값. 이는 각 배포 후 캐시를 지우는 효과가 있습니다.

/Content/css/Site.css?version={FileVersionNumber}

다음은 ASP.NET MVC 예입니다.

<link href="@Url.Content("~/Content/Css/Reset.css")?version=@this.GetType().Assembly.GetName().Version" rel="stylesheet" type="text/css" />

어셈블리 버전을 업데이트하는 것을 잊지 마십시오.


이 답변에 감사하지만 BundleTable에 리소스를 추가 할 때 어떻게해야합니까?
toregua

제 경우에는 버전으로 "0.0.0.0"을 반환했습니다. MVC 앱의 dll 버전을 얻으려면 대신 다음을 사용하십시오.?version=@ViewContext.Controller.GetType().Assembly.GetName().Version
CGodo

1
이로 인해 Firefox와 Chrome이 콘텐츠를 모두 캐싱하지 못합니다.
Sam

10

나는 비슷한 문제가 있었고 이것이 내가 해결 한 방법이다.

  1. 에서 index.html파일 I 매니페스트 추가했습니다 :

    <html manifest="cache.manifest">
  2. 에서 <head>섹션 스크립트 캐시를 업데이트를 포함 :

    <script type="text/javascript" src="update_cache.js"></script>
  3. 에서 <body>섹션 I 기능 온로드 삽입 한 :

    <body onload="checkForUpdate()">
  4. 에서 cache.manifest나는 모든 파일을 넣어 한 내가 캐시합니다. 이제는 "버전"주석을 업데이트 할 때마다 제 경우 (아파치)에서 작동하는 것이 중요합니다. "? ver = 001"또는 이름 끝에 무언가를 사용하여 파일 이름을 지정할 수도 있지만 필요하지는 않습니다 . 변경하면 # version 1.01캐시 업데이트 이벤트가 트리거됩니다.

    CACHE MANIFEST
    # version 1.01
    style.css
    imgs/logo.png
    #all other files

    index.html 에만 1, 2 및 3. 포인트를 포함시키는 것이 중요합니다 . 그렇지 않으면

    GET http://foo.bar/resource.ext net::ERR_FAILED

    페이지가 이미 캐시되어있는 동안 모든 "하위"파일이 페이지를 캐시하려고하기 때문에 발생합니다.

  5. 에서 update_cache.js파일이 코드를 넣어했습니다 :

    function checkForUpdate()
    {
        if (window.applicationCache != undefined && window.applicationCache != null)
        {
            window.applicationCache.addEventListener('updateready', updateApplication);
        }
    }
    function updateApplication(event)
    {
        if (window.applicationCache.status != 4) return;
        window.applicationCache.removeEventListener('updateready', updateApplication);
        window.applicationCache.swapCache();
        window.location.reload();
    }

이제 파일을 변경하기 만하면 매니페스트에서 버전 주석을 업데이트해야합니다. 이제 index.html 페이지를 방문하면 캐시가 업데이트됩니다.

솔루션의 일부는 내 것이 아니지만 인터넷을 통해 찾은 다음 작동하도록 구성했습니다.


CACHE.MANIFEST가 작성된 위치를 알 수 있습니까?
Shweta Gulati

1
Shweta Gulati 매니페스트 파일은 "index"파일과 동일한 폴더에 있어야합니다. 작동하지 않는 시간은 몇시입니까?
Wojtek Mazurek

1
@ShwetaGulati 예, 캐시는 html 파일의 변경 사항을 감지하지 못합니다. 변경 사항을 확인하는 매니페스트 파일의 버전 번호를 업데이트해야합니다. 나는 세부 사항을 모르기 때문에 당신을 돕기가 정말 어렵습니다. 캐시 된 파일을 모두 매니페스트에 넣었는지 알려주십시오. 경로는 매니페스트 파일과 관련이 있어야합니다. 당신은 나를 당신의 웹 사이트의 ADRESS 줄 수있는 내가 문제 : 무엇을 말할 수있다
보이 테크 Mazurek은

1
@ShwetaGulati 브라우저가 일부 파일을 자동으로 캐시하여 페이지 로딩 속도를 높이기 때문입니다. 기본 동작이며 브라우저에만 의존하므로 어떤 방식으로도 설정할 수 없습니다. 특히 js 파일은 일반적으로 웹 사이트의 모든 페이지에서 사용되므로 캐시하는 것이 현명하기 때문에 브라우저 범위에 있습니다. 모든 파일을 캐시하기 위해 매니페스트 파일에 모든 파일 이름을 쓰는 것 외에 다른 방법은 없습니다. 당신이 발견하면, 나도 그것을 필요로하기 때문에 말해줘 :)
Wojtek Mazurek

1
파일의 절대 경로는 중요하지 않습니다. 브라우저가 파일에 대한 요청을 전송하기 때문에 주소에서 상대 경로가 중요합니다. F.ex : 도메인 example.com이 있으며 serers names.com에 있습니다. 내 공간은 example.names.com입니다. 따라서 example.com 도메인을 서버 공간 example.names.com에 리디렉션으로 가입시킵니다. 이를 위해서는 폴더를이 리디렉션의 목표로 설정해야합니다. 따라서 example.names.com에 여러 사이트를 보유하려면 "name1"폴더를 작성하고 해당 폴더로 경로 재 지정을 설정하고 모든 파일을 내부에 저장하십시오. 여기에서 경로가 계산됩니다. 매니페스트 파일에 name1 \ scripts \ test.js가 있으면 scripts \ test.js를 작성합니다.
Wojtek Mazurek

7

나는 고객의 사진을 온라인으로 찍을 사진이 있고 사진이 변경되면 div를 업데이트 해야하는 경우가있었습니다. 브라우저에 여전히 오래된 사진이 표시되었습니다. 그래서 나는 매번 고유 한 임의의 GET 변수를 호출하는 해킹을 사용했습니다. 여기 누군가를 도울 수 있다면

<img src="/photos/userid_73.jpg?random=<?php echo rand() ?>" ...

편집 다른 사람들이 지적했듯이 다음은 이미지가 변경 될 때만 이미지를 다시로드하여 파일 크기 로이 변경 사항을 식별하기 때문에 훨씬 효율적인 솔루션입니다.

<img src="/photos/userid_73.jpg?modified=<? filemtime("/photos/userid_73.jpg")?>"

29
이것은 전혀 우아하지 않으며, 리소스를 다운로드하는 데 많은 시간을 낭비 할 때마다 사이트가 이미지를 다시로드하게하고, 더 나은 해결책은 임의의 숫자 대신 파일 크기 를 사용하는 것입니다. 변경
Roberto Arosemena

8
또는 이미지 바이트의 해시
Taylor Edmiston

1
그것은 모두 사용자의 요구 사항에 달려 있습니다. 많은 수의 사진 시나리오의 경우 몇 장의 사진과 다릅니다. 파일 크기를 확인하면 대역폭이 절약되지만 추가 처리가 추가되어 페이지로드 속도가 느려질 수 있습니다. 사진이 자주 바뀌고 사용자가 최신 사진을 얻는 것이 중요한 비즈니스 결정 인 경우에는 완벽한 솔루션이었습니다.
zeeshan

구성에서 정적 값으로 만들 수도 있지만 이상적인 방법은 아닙니다.
Seer

3
<img src = "/ photos / userid_73.jpg? modified = <? = filemtime ("/ photos / userid_73.jpg ")?>"가 훨씬 유용합니다!
Fusca Software

4

대부분의 개발자들은 캐시를 끄는 것이 비효율적이라는 것을 잘 알고 있습니다. 그러나 효율성이 중요하지 않고 기본 캐시 동작이 심각하게 손상되는 일반적인 상황이 많이 있습니다.

여기에는 중첩 된 반복 스크립트 테스트 (큰 것!) 및 손상된 타사 소프트웨어 해결 방법이 포함됩니다. 여기에 제공된 솔루션 중 어느 것도 그러한 일반적인 시나리오를 해결하기에 적합하지 않습니다. 대부분의 웹 브라우저는 너무 공격적인 캐싱으로 이러한 문제를 피할 수있는 합리적인 수단을 제공하지 않습니다.



2

URL을 다음으로 업데이트하면 나에게 효과적입니다.

/custom.js?id=1

?id=새 번호 변경 후 고유 번호를 추가 하고 증가 시킴으로써 사용자는 누를 필요가 없습니다CTRL + F5 캐시를 새로 고치기 . 또는 현재 시간 또는 Epoch 뒤에 해시 또는 문자열 버전을 추가 할 수 있습니다.?id=

같은 것 ?id=1520606295


1

다음 은 ASP.NET에서 캐싱 설정에 대한 MDSN 페이지입니다.

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.Cache.SetValidUntilExpires(False)
Response.Cache.VaryByParams("Category") = True

If Response.Cache.VaryByParams("Category") Then
   '...
End If

1

이것이 실제로 도움이 될지 확실하지 않지만 모든 브라우저에서 캐싱이 작동하는 방식입니다. 브라우저가 파일을 요청할 때 "오프라인"모드가 없으면 항상 서버로 요청을 보내야합니다. 서버는 수정 된 날짜 또는 태그와 같은 일부 매개 변수를 읽습니다.

서버는 NOT MODIFIED에 대해 304 오류 응답을 반환하며 브라우저는 캐시를 사용해야합니다. 서버 측에서 etag의 유효성이 검사되지 않거나 수정 된 날짜가 현재 수정 된 날짜보다 낮 으면 서버는 새로운 수정 된 날짜 또는 etags 또는 둘 다를 사용하여 새 컨텐츠를 리턴해야합니다.

브라우저로 전송 된 캐싱 데이터가 없으면 동작이 결정되지 않은 것 같습니다. 브라우저는 캐시 방법을 알려주지 않는 파일을 캐시하거나 캐시하지 않을 수 있습니다. 응답에 캐싱 매개 변수를 설정하면 파일을 올바르게 캐시하고 서버는 304 오류 또는 새 내용을 반환하도록 선택할 수 있습니다.

이것이 어떻게 이루어져야 하는가입니다. URL에서 임의의 매개 변수 또는 버전 번호를 사용하는 것은 무엇보다 해킹과 같습니다.

http://www.checkupdown.com/status/E304.html http://en.wikipedia.org/wiki/HTTP_ETag http://www.xpertdeveloper.com/2011/03/last-modified-header-vs- expire-header-vs-etag /

읽은 후 만료 날짜도 있음을 알았습니다. 문제가있는 경우 만료 날짜가 설정되었을 수 있습니다. 즉, 브라우저가 파일을 캐시 할 때 만료 날짜가 있으므로 해당 날짜 이전에 다시 요청하지 않아도됩니다. 즉, 파일을 서버에 요청하지 않으며 수정되지 않은 304를받지 않습니다. 만료 날짜에 도달하거나 캐시가 지워질 때까지 캐시를 사용합니다.

그래서 그것은 내 추측입니다, 당신은 어떤 종류의 만료 날짜가 있으며 당신은 마지막으로 수정 된 etags 또는 그 조합을 사용하고 만료 날짜가 없는지 확인해야합니다.

사람들이 많이 새로 고치는 경향이 있고 파일이 많이 변경되지 않으면 만료 날짜를 크게 설정하는 것이 좋습니다.

내 2 센트!


1

나는 아직 프로덕션 환경에서는 작동하지 않는이 간단한 솔루션을 구현했습니다.

function verificarNovaVersio() {
    var sVersio = localStorage['gcf_versio'+ location.pathname] || 'v00.0.0000';
    $.ajax({
        url: "./versio.txt"
        , dataType: 'text'
        , cache: false
        , contentType: false
        , processData: false
        , type: 'post'
     }).done(function(sVersioFitxer) {
        console.log('Versió App: '+ sVersioFitxer +', Versió Caché: '+ sVersio);
        if (sVersio < (sVersioFitxer || 'v00.0.0000')) {
            localStorage['gcf_versio'+ location.pathname] = sVersioFitxer;
            location.reload(true);
        }
    });
}

html이있는 곳에 작은 파일이 있습니다.

"versio.txt":

v00.5.0014

이 함수는 모든 페이지에서 호출되므로로드 할 때 localStorage의 버전 값이 현재 버전보다 낮은 지 확인하고

location.reload(true);

... 캐시 대신 서버에서 강제로 다시로드합니다.

(분명히 localStorage 대신 쿠키 또는 다른 영구 클라이언트 저장소를 사용할 수 있습니다)

단일 파일 "versio.txt"만 있으면 전체 사이트를 강제로 다시로드하므로이 솔루션의 단순성을 선택했습니다.

queryString 메소드는 구현하기 어렵고 캐시되기도합니다 (v1.1에서 이전 버전으로 변경하면 캐시에서로드되는 경우 캐시가 플러시되지 않고 모든 이전 버전을 캐시에 유지함).

나는 약간의 초보자이며 내 방법이 좋은 접근법인지 확인하기 위해 전문적인 확인 및 검토를 감수합니다.

도움이 되길 바랍니다.



0

사용할 수있는 트릭이 하나 있습니다. 트릭은 스크립트 태그의 파일 이름에 매개 변수 / 문자열을 추가하고 파일 변경시이를 변경하는 것입니다.

<script src="myfile.js?version=1.0.0"></script>

브라우저는 "?"뒤에 오는 문자열이더라도 전체 문자열을 파일 경로로 해석합니다. 매개 변수입니다. 이제 다음에 파일을 업데이트 할 때 웹 사이트의 스크립트 태그에서 숫자를 변경하면 (예 <script src="myfile.js?version=1.0.1"></script>) 각 사용자 브라우저에서 파일이 변경되었음을 확인하고 새 사본을 얻습니다.


0

브라우저가 캐시를 지우거나 올바른 데이터를 다시로드하도록 강요합니까?나는 stackoverflow, 일부 작업에 설명 된 대부분의 솔루션을 시도했지만 잠시 후에 결국 캐시를 수행하고 이전에로드 된 스크립트 또는 파일을 표시합니다. 캐시 (css, js 등)를 지우고 실제로 모든 브라우저에서 작동하는 다른 방법이 있습니까?

서버의 파일에서 날짜와 시간을 변경하면 특정 리소스를 개별적으로 다시로드 할 수 있다는 것을 알았습니다. "캐시 지우기"는 쉽지 않습니다. 브라우저에서 캐시를 지우는 대신 캐시 된 서버 파일을 "만지면"실제로 서버에 캐시 된 소스 파일의 날짜와 시간 (Edge, Chrome 및 Firefox에서 테스트 됨)이 변경되고 대부분의 브라우저가 자동으로 가장 많이 다운로드됩니다 서버에있는 최신 내용 사본 (코드, 모든 멀티미디어 그래픽) 프로그램을 실행하기 전에 서버에서 최신 스크립트를 복사하고 "터치 작업" 솔루션을 제안 하기 때문에 모든 문제 파일의 날짜를 최신 날짜 및 시간으로 변경 한 다음 새로운 사본을 다운로드합니다. 브라우저로 :

<?php
   touch('/www/sample/file1.css');
   touch('/www/sample/file2.js');
?>

그런 다음 ... 나머지 프로그램 ...

이 문제를 해결하는 데 약간의 시간이 걸렸습니다 (많은 브라우저가 다른 명령과 다르게 작동하기 때문에 파일 시간을 확인하고 브라우저에서 다운로드 한 사본과 비교합니다 (날짜와 시간이 다른 경우 새로 고침을 수행 할 경우)). 올바른 방향으로 갈 수는 없지만 항상 유용하고 더 나은 해결책이 있습니다. 안부와 행복한 캠핑. 그런데 touch (); 또는 대안은 javascript bash sh php에 포함 된 많은 프로그래밍 언어에서 작동하며 html로 포함하거나 호출 할 수 있습니다.


1
파일이 수정되면 타임 스탬프가 이미 변경되었으므로 다시 강제로 적용 할 수 없습니다.
Fusca Software

touch 명령은 파일을 전혀 변경하지 않습니다. 날짜 및 시간 속성을 변경하여 브라우저를 속여 새 사본으로 다운로드하는 최신 버전으로 변환합니다.
Luis H Cabrejo

-1

캐시를 지우시겠습니까, 아니면 현재 (변경된) 페이지가 캐시되지 않았는지 확인 하시겠습니까?

후자 인 경우 다음과 같이 단순해야합니다.

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

최근 Chrome 게시 에서이 방법에 대해 읽었으며 Firefox 3.6을 사용하는 소수의 라이브 서버, 로컬 호스트 및 Windows 파일 공유에서만 일관된 결과를 찾았습니다.
danjah
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.