2010-05-06 4 views
0

나는 고객을 위해 약 10 개의 웹 사이트를 호스팅합니다. 가끔씩 고객은 자신의 웹 사이트에 대한 업데이트를 요청할 것입니다. 간단한 이미지 변경, 새로운 PDF 또는 간단한 텍스트 변경 일 수 있습니다. 나는 변경을 한 다음 업데이트가있는 웹 페이지에 대한 링크를 보냅니다. 약 1 시간 후에 나는 그들이 여전히 이전 페이지를 보았다고 말하는 고객으로부터 이메일을받을 것이다. 그 다음 브라우저에 캐시를 비우는 방법을 설명 할 것입니다. 내가 알아 내려고하는 것은 웹 사이트를 업데이트하고 페이지를 다시로드하고 캐시를 업데이트해야한다고 브라우저에 알릴 수있는 방법이 있는지입니다. 메타 태그를 사용하려고 생각했지만 신뢰할 수 없다고 읽었습니다. 또한 캐시 할 페이지가 여전히 마음에 드는 데, 업데이트 할 때 캐시를 지울 수 있기를 원합니다. 이것이 가능한가? 나는 고급 프론트 엔드 웹 개발자 (HTML, CSS, Javascript)이고 PHP 몇 개를 알고 있습니다. 캐시는 내가 잘 이해하지 못하는 것 중 하나 일뿐입니다.혼란 스럽습니다. 내 고객이 웹 사이트 편집을 볼 수 있도록 캐시를 제어하는 ​​방법

+0

전자 메일 응답에서 'Control-F5'를 눌러 강제로 새로 고침하고 모든 변경 사항을 확인하도록 상기시킵니다. –

답변

0

현재 사용중인 프런트 엔드에 따라 액세스 권한이 없거나 헤더 수정에 관심이 없을 수 있습니다.

하나의 아주 간단한 해결책은 리소스를 변경할 때 리소스의 이름을 바꾸는 것입니다. 분명히 "image.jpg"에서 "image2.jpg"로 바뀔 때마다 유지 관리하는 것이 어려울 것입니다. 소스 제어에 따라 다르지만 "image.jpg? v = 1"에서 "image.jpg" ? v = 2 "를 사용하면 브라우저와 캐싱 중개자가 리소스를 다시로드하도록하면서 파일 이름을 동일하게 유지할 수 있습니다.

일반적으로 파일의 해시를 매개 변수로 사용하므로 파일을 변경할 때마다 증가시키지 않아도됩니다.

HTML 파일의 경우 쉽게 캐시 할 필요가 없습니다. 나는 당신이 볼 때마다 그것을 다시 생성하는 것이 큰 문제가 아니기 때문에 헤더를 추가하는 것이 문제가되어서는 안된다고 가정하고 있습니다.

캐시 제어 헤더 및 만료 헤더를 추가하십시오.

<?php 
    header("Cache-Control: no-cache,no-store,must-revalidate"); 
    header("Expires: 0"); 
?> 

그냥 확인 머리글을() HTTP 헤더가 있어야로 호출하면 출력하기 전에 페이지 데이터입니다 : 그들은 함께 다시로드 때마다 강제로 HTML 파일을 캐시에서 모든 브라우저와 중개인을 유지해야 페이지가 전송되기 전에 전송됩니다.

+0

.htaccess 파일을 만들거나 PHP를 사용하는 것을 두려워하지 않습니다. 나는 당신이 파일을 위해 기술 한 방법을 좋아하지만 그것은 HTML 페이지에 대해 어떨까요? SEO를 해칠 것이므로 파일 이름을 변경할 수 없습니다. –

0

사용자 캐시를 비우는 서버 측 명령에 대해 잘 모르겠지만 클라이언트는 페이지를 방문 할 때마다 새 버전을 확인하기 위해 인터넷 설정을하기에 충분히 똑똑하기를 바랍니다.

관련 문제