2013-05-13 1 views
0

우리는 "실수로 중요한 정보 (예 : 백업 테이프 :)의 실수로 릴리스되거나 유지되는 것을 방지")하고 HTTP 헤더 Cache-control : no-store를 사용할 계획입니다. 그렇게하는 것의 아래쪽면은 무엇입니까? 스펙을 보면 캐싱이 계속 작동하는 것처럼 보입니다. 단지 비 휘발성 스토리지를 사용할 수 없기 때문입니다. 어떤 응답을 저장할지 지정하기 위해 "감도"를 측정합니다. 우리가 사용해야하는 균형점 측정은 무엇입니까? 즉, 모든 페이지를 매장에 표시하지 않는 이유는 무엇입니까?캐시 제어를 사용할 때의 단점은 무엇입니까?

+2

성능 저하가 염두에두고 있습니다. 하지만 일단 브라우저에 뭔가를 보내면 더 이상 제어 할 수 없으므로 캐시 정책을 조작하는 것이 성취 할 것인지 잘 모르겠습니다. –

+0

사용자의 컴퓨터에 액세스하는 interloper (따라서 브라우저의 캐시 파일)가 중요한 페이지에 액세스하지 못하게해야합니다. 대부분의 최신 브라우저는'no-store' 지시어로 무언가를 이해하고 수행하는 것처럼 보입니다. –

답변

1

저장소를 사용하면 클라이언트에 사용할 수있는 로컬 캐시가 있습니다. 이 캐시는 성능을 향상시키고 사용자 서버의로드를 줄입니다.

귀하의 경우에는 중요한 페이지를 캐싱없이 보내도록하는 것이 좋습니다.

노 스토어의 또 다른 기술적 인 문제는 믿을만한 부작용입니다. 이전 버전의 IE에는 캐싱 기능이 해제 된 Content-Disposition 헤더에 문제가 있습니다. 이 동작은 다운로드 프롬프트에 무기한 0 %의 진행률이 적용되는 것과 같습니다.

노 캐싱 정책에 대한 오해 중 하나는 브라우저가 실제로이를 준수하고 디스크에 저장하지 않는다는 것입니다. 이것은 사실이 아닙니다. 많은 현대의 브라우저는 실제로 모든 응답을 디스크에 캐시합니다 (이 내용은 SO 참조). 그러나이 캐시 은 이러한 경우에으로 암호화됩니다.

전반적으로 나는 그렇게하는 것이 안전하다고 생각합니다. @ Robert Harvy가 말한대로이 메커니즘에 의존하지 않도록하십시오. 일단 브라우저를 보내면 브라우저를 저장하는 방법이 마음에 들게됩니다.

+0

감사합니다. 귀하의 첫 단락은 내가 생각한 것입니다 만, 측정하기가 어렵습니다. 우리 앱에는 많은 중요한 정보가 있으며 캐싱은 매우 유용합니다. 우리는 캐싱을 유지하고 균형 잡힌 방식으로 디스크 스토리지를 피할 수 있기를 희망합니다. 예, 이것이 완전한 보안 수정 사항이 아니라는 것이 확실합니다. 악의적 인 사용자가 사용자 계정에 액세스 할 수있는 경우, 예를 들어 사용자가 원하는대로 데이터를 처리 할 수있는 브라우저로 브라우저를 대체 할 수 있습니다. 이 상황에서이 정보를 찾는 것이 더 복잡해 지도록 노력하고 있습니다. 기계의 보안을 보장 할 수는 없습니다. –