Safari의 캐시를 어떻게 진정으로 플러시합니까?


16

Mac에서 HTML을 편집 한 후 문제가 발생하는 경우가 수없이 많았습니다. 이 문제는 FTP를 통해 업데이트 된 파일을 서버에 업로드 할 때 발생하며 Safari에서 웹 사이트로 이동합니다. 제대로 작동하지 않는 한 가지는 Safari가 이미 웹 페이지 (이전 버전)를 캐시했기 때문에 이전 버전을 표시한다는 것입니다. 나는 내 생각으로 Safari에서 캐시를 지우고 내 문제가 해결되기를 희망했습니다. 캐시를 지우면 웹 사이트가 다시로드되는 것처럼 보입니다. 여전히 이전 버전의 파일이 나타났습니다. 서버의 파일이 실제로 업데이트되었음을 ​​증명하기 위해 동일한 네트워크의 다른 Mac에 파일의 새 버전이 표시되었습니다. 캐시를 새로 고치거나 지우거나 Safari를 다시 연 횟수에 관계없이 항상 이전 파일을 전달합니다. 내가 올 수있는 유일한 해결책은 재부팅하는 것입니다. 재부트 한 후 Safari는 전체 웹 사이트를 다시로드하고 파일의 새 버전을 표시했습니다.

Safari의 캐시를 플러시하고 올바르게 작동시키는 방법이 궁금합니다. 이것이 운영 체제가하는 것입니까 (하드 드라이브의 파일에도 비슷한 문제가 있습니까)? 파일의 새 버전을보기 위해 항상 다시 부팅하고 싶지 않으므로 최신 버전을 볼 수있는 방법이 있습니까? 수동으로 지울 수있는 임시 저장 폴더가 있습니까? 이것은 자주 나에게 발생하며 (심각하지는 않지만 알기에는 충분합니다) 현재 유일한 해결책은 재부팅하는 것입니다.

나는 이상한 느낌을 가지고 있습니다 (실제로 생각하지는 않지만 이해가되지 않는 약간의 가능성). 더 낮은 수준에서 시작됩니다.


크롬 (또는 오페라)을 사용하십니까?
가짜 이름

Firefox를 사용하고 싶지만 개발 중이므로 Safari를 포함한 모든 브라우저에서 내 웹 사이트를 테스트해야합니다.
Andrew Larsson

사용하는 것이 유용 할 수 있습니다 curl상황을 확인하기 위해 URL을 요청하는 명령 줄 명령을 함께 제공됩니다. 이전 페이지 또는 새 페이지? curl"캐싱"이라는 개념이 전혀 없기 때문에 원격지의 누군가 (또는 그 사이의 경로)가 원하지 않는 캐싱을 수행하고 있는지 알 수 있습니다. 귀하의 서버 는 실제 범인 일 수 있습니다! 그것이 제공하는 파일을 캐싱합니까? Betcha입니다. . .
Mike Robinson

답변:


12

Safari에서 ( Shift) 키를 누른 상태에서 새로 고침 버튼을 클릭하십시오. 로컬 캐시를 우회하는 "하드"새로 고침이 수행됩니다.

(Safari에서 캐시를 빠르게 지우려면 + +를 누르고 개인 정보E 로 이동 한 다음 "모든 웹 사이트 데이터 제거"를 클릭하십시오 .)


다음에이 문제가 발생했을 때 확실히 시도하겠습니다. 그것은 내가 아직하지 않은 것입니다. Safari를 재설정하고 캐시를 지우고 로그 아웃했다가 다시 로그인하려고했습니다.
Andrew Larsson

2
대부분의 다른 브라우저는 + + R를 사용하여 하드 새로 고침을 수행하므로 Safari는이 측면에서 약간 혼동됩니다 . Safari에서는 키보드 콤보를 수행하는 동안 웹 개발자 도구에 초점을 맞추지 않는 한 아무 작업도 수행하지 않습니다.
Mathias Bynens

누군가가 내가 경험하고있는 무식한 캐싱에 대한 입증 된 솔루션으로 더 나은 설명을 얻을 때까지 귀하의 답변을 받아 들일 것입니다. 감사!
Andrew Larsson

1
@AndrewLarsson 어쨌든, 하드 새로 고침 후에는 서버 측 캐싱이 이상하지 않다고 가정하면 항상 최신 버전을 가져와야합니다. 서버가 파일과 함께 어떤 캐싱 헤더를 보내나요? 서버 구성 문제 일 수 있습니다.
Mathias Bynens

그것은 내가 생각한 또 다른 것이었다. 실제로 새 컨텐츠를 리턴해야 할 때 서버가 304를 리턴하는 경우 구성에서 변경해야 할 항목입니다. 다음에이 문제가 발생하면이를 조사하겠습니다.
Andrew Larsson

2

Safari가 캐시를 지우지 않는 경우 :

  1. 모든 웹 페이지에서 로그 아웃했는지 확인하고 모든 Safari 탭을 닫으십시오.

  2. Finder를 열고 메뉴 표시 줄에서 이동 → 폴더로 이동 ...을 선택하십시오. (또는 키보드 단축키 Command+ Shift+를 사용할 수도 있습니다 g.)

  3. 다음을 복사하여 드롭 다운에 붙여 넣습니다.

    ~/Library/Safari/Databases

  4. 모든 폴더를 강조 표시하고 마우스 오른쪽 단추를 클릭하고 휴지통으로 이동을 선택하여 해당 폴더에 나타나는 모든 내용을 삭제하십시오.

  5. Safari를 다시 열고 모든 항목이 삭제되었는지 확인하십시오.

  6. 위 기준을 검색 할 때 아무 것도 나타나지 않으면 검색하십시오

    ~/Library/Safari/Local Storage

    위의 4 및 5 단계에 따라 모든 내용을 삭제하십시오.


Safari는 위에서 "모든 웹 사이트 데이터 제거"를 할 것이라고 말하지만 실제로 는 그렇지 않습니다 . 그러나 여기에 언급 된 다양한 폴더의 내용을 제거하면됩니다.
Mike Robinson

1

다른 브라우저에서도 발생한다는 사실을 제외하고는 똑같은 문제가있었습니다. 그것이 Safari 또는 OSX가 아니라는 것으로 밝혀 졌으므로 서비스 제공 업체가 만든 캐시였습니다.

문제를 해결하기 위해 캐시되지 않도록 페이지에 코드를 넣었습니다.

content = "no-cache"

"일부 사람들은 브라우저 캐싱에 대해 알고 있지만 여전히 ISP 캐싱에 의해 뒤처집니다. ISP 캐싱은 브라우저 캐싱과 거의 같은 방식으로 작동합니다. 웹 사이트를 방문하면 ISP가 해당 페이지를 캐시하여 더 빠르게로드하는 것처럼 보일 수 있습니다. 다음에 방문 할 때 브라우저 캐시와 달리 이러한 임시 파일을 삭제할 수 없다는 대신 ISP 캐시가 만료되어 새로운 파일 복사본을 요청할 때까지 기다려야한다는 점입니다. 웹 사이트를 개발하거나 변경하거나 새로운 정보를 보려고합니다. "


답변의 첫 번째 버전에서와 같이 전체 코드로 되돌릴 수 있습니까? 줄의 시작 부분에 4 개의 공백을 넣으면 서식에 문제가 없어야합니다.
nohillside

이것은 좋은 지적이며 다음에 시도해 보겠습니다. 그러나, 내가 사용한 Mac이 동일한 네트워크에 있고 동일한 글로벌 IP를 가지고 있기 때문에 질문에 설명 된 상황에 얼마나 잘 적용되는지 잘 모르겠습니다. 따라서 ISP는 그들 사이의 차이).
앤드류 라르손
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.