나는 이해 Ctrl+ 새로 고침 캐시를 읽지 않고 브라우저에서 신선한 컨텐츠를 가져옵니다. 그렇다면 Ctrl+ Shift+ Refresh는 무엇입니까?
Ctrl + 새로 고침 요청 헤더는 다음과 같습니다.
Cache-Control : max-age=0
대한 Ctrl+ Shift+ 새로 고침
Pragma : no-cache <br>
Cache-Control : no-cache
실제 차이점은 무엇입니까?
답변
둘 다 로컬 컴퓨터의 브라우저와 동일합니다. 언급 한 헤더는 유일한 차이점입니다.
Ctrl + 새로 고침 헤더는 모든 캐싱 서버가 페이지의 새로운 복사본을 반환해야 함을 의미합니다.
Ctrl + Shift + Refresh 헤더는 모든 캐싱 서버가 페이지의 새로운 사본을 리턴해야하며 향후 요청을 위해 페이지를 캐시하지 않아야 함을 의미합니다. 즉, 다음에 페이지를 요청할 때 페이지의 이전 캐시를 사용하거나 새 사본을 요청해야하지만이 복사본을 사용해서는 안됩니다.
Pragma : no-cache는 HTTP 1.0 버전의 Cache-Control : no-cache입니다. Cache-Control과 동등한 HTTP 1.0은 없습니다 : max-age = 0.
RFC2616 섹션 14 하위 섹션 9에는 관련 정보가 있습니다. w3c.org : RFC2616 초 14.9.1
답변
또 다른 차이점이 있습니다.
Ctrl + Refresh를 누르면 Last-Modified
또는 ETag
헤더 가있는 모든 캐시 된 오브젝트 에 대해 브라우저가 If-Modified-Since
또는 If-None-Match
헤더를 사용 하여 요청을 발행합니다 . 그런 다음 서버는 304 Not Modified
데이터를 다시 보내지 않고 (데이터가 실제로 수정되지 않았다고 가정) 로 응답하도록 선택할 수 있습니다 .
Ctrl + Shift + Refresh를 누르면 브라우저가 이러한 조건부 If-*
헤더를 발행하지 않으므로 서버는 옵션을 남기지 않고 데이터를 다시 보냅니다.