2016-06-05 1 views
1

내가 브라우저 캐시에 대한 두 가지 시나리오를 가지고, 일부 페이지 app 해당응답을 캐시하는 응답 헤더? 내 웹에서

1 시나리오 : - 서버 측에서 수정되지 않은 경우 나 브라우저 캐시에서 서버에 원하는 . 예를 들어 : -

  1. 사용자는
  2. 응답이 10 명 직원
  3. 사용자가 모든 직원에 대한 요청을 발행 반환 모든 직원에 대한 요청을 발행 다시
  4. 기대있다가 브라우저 캐시에서 처리되어야한다이 시간
  5. 사용자가 한 번 더 직원을 생성는
  6. 사용자는 다시
  7. 모든 직원에 대한 요청을 발행
  8. 기대 내가

    response.setHeader("Cache-Control", "no-cache"); 
    

    으로 헤더 아래에 사용할 계획입니다

더 캐시하지 않습니다 대신 브라우저 캐시 서버에서 최신을 제공해야한다이 시간 브라우저 또는 프록시에 지시하여 콘텐츠를 캐시하지 않겠습니까 ( ). 그냥 사용하기 전에 유효성을 서버와 캐시 콘텐츠에 브라우저와 프록시를 알려줍니다 그것은

시나리오 2 : - 하지만 난 전혀 캐시하지 않으려는 민감한 페이지에 대한, 내가 계획입니다 그것은 아래의 헤더를 사용하는 것

response.setHeader("Cache-Control", "no-store"); 

그러나 일부 기사는 모든 브라우저에서 작동하도록하기 위해 헤더 아래에서 안전하게 사용할 수 있습니다. 그래서 아래에서 사용하겠습니다.

response.setHeader("Cache-Control", "no-cache, no-store"); 

제안 된 구현이 정확합니까?

답변

2

시나리오 # 1 위해 당신은 참으로 no-cache-Cache-Control를 설정해야합니다 (또는 더 나은 확장 성을위한 max-age을 설정하지만,이 경우 최신 값이 필요하지 않습니다)하지만 당신은 또한 HTTP를 사용할 필요가 헤더 ETag을 사용하여 브라우저가 데이터 내용이 변경되었는지 여부를 확인하여 브라우저가 캐시 항목을 재사용 할 수 있는지 여부를 알 수 있도록합니다.

시나리오 # 2를 들어 당신은 표준 방법입니다하지만 당신은 너무 그들을 지원해야하는 경우 실제로 no-cache, no-store 오래된 브라우저에서 작동하는 데 도움이 될 것 같은 데이터를 캐시 브라우저를 방지하기 위해 no-storeCache-Control를 설정해야합니다.