나는 최근에 this 기사를 보았습니다. 응답뿐만 아니라 요청에 cache-control
옵션도 포함될 수 있다고 말합니다.요청에 대한 캐시 제어 HTTP 헤더가 필요한 이유는 무엇입니까?
이해했지만, 서버 응답에 의미있게 활용 될 수 있지만 요청에 왜 필요한지 명확히 이해하지 못합니다. 불행히도 나는 내 문제에 대한 답변을 얻은 인터넷에서 아무것도 찾을 수 없었다.
어떤 아이디어가 있습니까?
나는 최근에 this 기사를 보았습니다. 응답뿐만 아니라 요청에 cache-control
옵션도 포함될 수 있다고 말합니다.요청에 대한 캐시 제어 HTTP 헤더가 필요한 이유는 무엇입니까?
이해했지만, 서버 응답에 의미있게 활용 될 수 있지만 요청에 왜 필요한지 명확히 이해하지 못합니다. 불행히도 나는 내 문제에 대한 답변을 얻은 인터넷에서 아무것도 찾을 수 없었다.
어떤 아이디어가 있습니까?
캐시 동작을 제어하는 HTTP/1.1 캐시와 관련 헤더는 RFC 7234에 정의되어 있습니다. 캐싱은 HTTP의 완전히 선택적 기능입니다.
Cache-Control
헤더는 요구/응답에 따라서 캐시에 대한 지시을 지정하는 데 사용된다. 이러한 캐시 지시문은 요청에서 지시문이 있다는 것이 동일한 지시문이 응답에 제공된다는 것을 의미하지 않는다는 점에서 단방향 인 입니다.
캐시 지시자는 모두 토큰 및 인용 문자열 구문을 사용할 수 있습니다 선택적 인수를, 토큰에 의해 식별됩니다 경우 소문자를 구별 비교하고,있다. 인수를 정의하는 아래에 정의 된 지시문의 경우 수신자는 이 선호되는 것으로 문서화되어 있더라도 두 형식을 모두 받아 들여야합니다. 으로 정의되지 않은 지시어에 대해서는 수신자가 두 형식을 모두 수용해야한다.
가 5.2.1.1. max-age가 가가 [...] 클라이언트가
max-age
요청 지시자를 나타내고있다것을 다음
Cache-Control
헤더 요청에 사용될 수있는 directives 이하Cache-Control = 1#cache-directive cache-directive = token [ "=" (token/quoted-string) ]
찾기 지정한 시간 (초)이 보다 큰 응답을 허용하지 않습니다. [...]
이 지시문은 인수 구문의 토큰 형식을 사용합니다. 예 :
max-age=5
은max-age="5"
이 아닙니다. [...][...]을max-stale
요청 지시자 클라이언트 신선도 수명을 초과 한 응답을 받아 들일 임을 나타낸다. [...]이 지시어는 인수 구문의 토큰 형식을 사용합니다. 예 :
max-stale=10
이 아닌max-stale="10"
. [...]
[...]을
min-fresh
요청 지시자 클라이언트가 신선한 기간만큼이나 보다는 현재의 나이를 더한 지정 응답을 받아 들일 있음을 나타냅니다 시간 (초). [...]이 지시문은 인수 구문의 토큰 형식을 사용합니다. 예 :
min-fresh=20
이 아닌min-fresh="20"
입니다. [...].
no-cache
요청 지시자는 캐시가 원 서버에 성공적으로 검증없이 요구를 만족시키기 위해 저장된 응답을 사용해서는 안 나타냅니다는 것을 나타냅니다 캐시 MUST NOT 저장이 요청하거나에 대한 응답 중의 일부. [...]
no-store
요청 지시자5.2.1.6. no-transform
no-transform
요청 지시자 가리 중간 (이것은 캐시를 구현하는지 여부)를 페이로드를 변환 안 [...].
only-if-cached
요청 지시자클라이언트 만 이 저장된 응답을 받고자하는 것을 나타낸다. [...]과 유사한 방식으로
은 RFC 7234 또한 Cache-Control
헤더에 대한 응답에 사용될 수있는 directives 정의한다.
귀하의 답변은 내가 기대 한 바를 충족시켜줍니다. 부차적 인 질문으로, 제가 자주 요청에 사용 했습니까? 아니면 아주 드문 경우입니까? –
@SupunWijerathne 캐싱은 HTTP의 완전히 선택적 기능입니다. 따라서 당신은 그것을 구현할 필요가 없습니다. 솔직히, 나는 그러한 지시어를 요청으로 사용하지는 않았지만 결코 사용하지 않을 것임을 의미하지는 않는다. :) –