2009-04-07 4 views
3

시간 흐름에 민감한 데이터에 Cache-Control 헤더를 넣지 않는 일부 다운 스트림 응용 프로그램 때문에 HTTP 캐싱 문제가 발생합니다. 나는 이것이 깨진 상황이라고 주장 할 필요가있다.HTTP 캐시 제어 : 존재하지 않는 경우 허용되는 기본 동작은 무엇입니까?

Cache-Control 헤더가 HTTP 1.1에 없을 때 캐시 또는 에이전트가 허용하거나 일반적인 응답 처리 동작에 대해 온라인에서 사용할 수있는 간결한 설명이 있습니까? RFC2616을 보았지만 Cache-Control 헤더없이 응답에 대한 규범 적 또는 SHOULD 문을 포함하지 않는 것 같습니다.

답변

2

이 지시문이 누락되면 브라우저가 원하는 것을 결정할 때까지 브라우저에 달려 있다고 생각합니다.

http://www.f5.com/pdf/white-papers/browser-behavior-wp.pdf

희망하는 데 도움이 다양한 브라우저 문제를 처리하는 방식의 꽤 좋은 쓰기까지입니다

(이 경우 서버는 브라우저 될 수있다).

+0

글쎄요, 내 서버가 브라우저이지만 사실 중간 캐시 (방화벽,로드 밸런서 등)가있어 결과가 분명히 캐시되어 있습니다. –

1

프록시가 수행하는 작업이나 고객이 타격을 가하는 작업을 알 수있는 방법이 없지만 Cache-Control 헤더가없는 경우 캐싱 된 결과가 전송 될 수 있습니다. 당신이 할 수있는 것은 (경우에이 옵션을 먹으 렴) 클라이언트 측에서 헤더를 추가, 그래서 클라이언트는이 같은 헤더와 자원에 대한 요청을 보낼 것입니다 : Cache-Control:no-cache

더 많은 정보 캐싱에 여기 :

Why is Cache-Control attribute sent in request header (client to server)?

는 희망이 도움이 :

https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching

그리고 여기에는 관련 스택 오버플로 질문!