Programing

Expires와 Cache-Control 헤더의 차이점은 무엇입니까?

lottogame 2020. 5. 27. 07:33
반응형

Expires와 Cache-Control 헤더의 차이점은 무엇입니까?


헤더 Expires의 차이점은 무엇입니까 Cache-Control?


Cache-ControlHTTP / 1.1에 도입되었으며보다 많은 옵션을 제공합니다 Expires. 그것들은 같은 일을 수행하는 데 사용될 수 있지만에 대한 데이터 값 Expires은 HTTP 날짜이지만 Cache-Controlmax-age를 사용하면 "페이지 요청 후 X 시간"을 지정할 수있는 상대적 시간을 지정할 수 있습니다.

HTML 캐시 제어 는 매우 유사한 질문이며 대부분의 질문에 답변해야하는 캐싱 자습서 (예 : http://www.mnot.net/cache_docs/#EXPIRES )에 대한 링크가 있습니다. 요약하자면 Expires이미지와 같은 정적 리소스 및 Cache-Control캐싱 수행 방법에 대한 추가 제어가 필요한 경우에 권장 됩니다.


CDN (Cloud Delivery Network)을 사용하는 경우 최대 시간 (초)으로 Cache-Control을 사용하는 것이 좋습니다. 예를 들어 Cache-Control : max-age = 604800입니다. 이렇게하면 오리진 서버에 대한 요청 피크를 방지 할 수 있습니다. "Expires Wed, 20 Oct 20xx 04:37:07 GMT"를 사용하면 모든 브라우저에서 동시에 요청합니다.


이 Google Developers 기사에 따르면 HTTP 캐싱 :

Cache-Control 헤더는 HTTP / 1.1 사양의 일부로 정의되었으며 응답 캐싱 정책을 정의하는 데 사용 된 이전 헤더 (예 : 만료)를 대체합니다. 모든 최신 브라우저는 Cache-Control을 지원하므로 필요한 것입니다.


Cache-Control은 HTTP / 1.1에 정의되어 있으며 서버에서 클라이언트로 모든 캐싱 메커니즘에이 객체를 캐시 할 수 있는지 알려줍니다. 초 단위로 측정됩니다 : Cache-Control: max-age=3600.

Expires헤더 필드는 응답이 부실 간주되는 날짜 / 시간을 제공합니다. 만료 값은 HTTP- 날짜 타임 스탬프 Expires: Tue, 18 Jul 2017 16:07:23 GMT입니다.

응답 Cache-Controlmax-age지시문이 있는 필드가 포함 된 경우 수신자는 해당 Expires필드를 무시해야 합니다.


Heroku devcenter에는 이 주제에 대한 훌륭한 기사 가 있습니다.

인용하면

Cache-Control 헤더는 클라이언트 측 캐싱을 켜고 리소스의 최대 수명을 설정하지만 Expires 헤더는 리소스가 더 이상 유효하지 않은 특정 시점을 지정하는 데 사용됩니다.


그래도 관심이 있으시면이 추천을 Google 소년에게 직접 남겨주세요. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching 캐시 제어보다 만료를 선호합니다


CC의 개인 / 공개 옵션을 제외하고는 차이가 없습니다. "액세스 + 1 년 / 월 / 주 / 일"과 같은 만료를 사용하는 경우 CC와 동일한 방식으로 작동합니다.

참고 URL : https://stackoverflow.com/questions/5799906/what-s-the-difference-between-expires-and-cache-control-headers

반응형