캐시 제어 헤더를 설정하지 않으면 어떻게됩니까?


14

cache-control헤더를 설정하지 않으면 어떻게됩니까 ? HTTP는 클라이언트가 따라야하는 기본 동작을 지정합니까, 아니면 클라이언트가 결정해야합니까?

Chrome에서 cache-control헤더 가없는 일부 Javascript 요청이 로 표시되었습니다 200 (from disk cache). Chrome이이를 최적화하고 있습니까?

IE에서 나는로 표시되는 것을 보았습니다 304 (not modified).

이것을 어떻게 더 잘 이해합니까?


1
"캐시 헤더 없음"은 캐시 제어 헤더가 없거나 실제로 캐시 헤더가 없음을 의미합니까? 캐시 제어는 캐싱에 영향을 미치는 유일한 헤더는 아닙니다. 대부분의 웹 서버는 Javascript 파일과 같은 정적 자산에 대한 Last Modified 헤더를 보냅니다.
Tim Fountain

답변:


18

어떤이없는 경우 Cache-Control헤더없이 Expires헤더가 있지만,이 Last-Modified(대부분의 웹 서버는 고정 자산에 대해 기본적으로 전송) 헤더는, 대부분의 브라우저가 사용하는 휴리스틱 신선도를 하는 시간을 결정 캐시 자산에 대한 것을 할 수 있습니다.

이에 대한 일반적인 계산 ( RFC 7234에서 제안한 것 )은 다음과 같습니다.

(current time - last modified time) / 10

예를 들어, 이미지의 마지막 수정 시간이 60 일 전에 마지막으로 변경된 것으로 표시되면 브라우저는 새 버전을 확인하기 전에 해당 이미지의 로컬 캐시 버전을 6 일 동안 합리적으로 사용할 수 있다고 결정할 수 있습니다.

당신은 새로 고침을 누르 대부분의 경우에, 당신은 참고 말하는 브라우저 그래서 그 상황에서이 논리가 적용되지 않는다, 새로운 버전을 가져올 수 있습니다.


2
그리고 Last-Modified헤더 가 없다면 ?
bertonc96
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.