Expires와 Cache-Control 헤더의 차이점은 무엇입니까?
헤더 Expires
와 의 차이점은 무엇입니까 Cache-Control
?
Cache-Control
HTTP / 1.1에 도입되었으며보다 많은 옵션을 제공합니다 Expires
. 그것들은 같은 일을 수행하는 데 사용될 수 있지만에 대한 데이터 값 Expires
은 HTTP 날짜이지만 Cache-Control
max-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-Control
에 max-age
지시문이 있는 필드가 포함 된 경우 수신자는 해당 Expires
필드를 무시해야 합니다.
Heroku devcenter에는 이 주제에 대한 훌륭한 기사 가 있습니다.
인용하면
Cache-Control 헤더는 클라이언트 측 캐싱을 켜고 리소스의 최대 수명을 설정하지만 Expires 헤더는 리소스가 더 이상 유효하지 않은 특정 시점을 지정하는 데 사용됩니다.
그래도 관심이 있으시면이 추천을 Google 소년에게 직접 남겨주세요. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching 캐시 제어보다 만료를 선호합니다
CC의 개인 / 공개 옵션을 제외하고는 차이가 없습니다. "액세스 + 1 년 / 월 / 주 / 일"과 같은 만료를 사용하는 경우 CC와 동일한 방식으로 작동합니다.
'Programing' 카테고리의 다른 글
어느 것이 가장 빠릅니까? (0) | 2020.05.27 |
---|---|
JavaScript를 사용하여 파일을 읽고 쓰는 방법? (0) | 2020.05.27 |
C ++의 내부 typedef-좋은 스타일 또는 나쁜 스타일? (0) | 2020.05.27 |
.idea 폴더 란 무엇입니까? (0) | 2020.05.27 |
너비와 높이가 고정 된 줄임표가 추가 된 크로스 브라우저 멀티 라인 텍스트 오버 플로우` (0) | 2020.05.27 |