inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모든 개발자를 위한 HTTP 웹 기본 지식

캐시 무효화

no-store 로도 충분할 것 같은데 no-cache, must-revalidate 는 왜 같이 추가하는 것인가요?

7699

minho oh

작성한 질문수 11

29

하위 호환을 위해서 Pragma : no-cache 헤더를 추가하는 것은 이해가 되는데. no-cache, must-revalidate  는 왜 추가하는 것인지 이해가 되지 않습니다.

데이터가 이미 캐시가 되어 있는 경우 또는 새로운 데이터를 응답하는 경우 모두 캐시를 무효화 시키고 싶다면 서버에서 no-store 로도 응답하면 되는 것아닌가요?

network

답변 2

35

김영한

안녕하세요. minho oh님 좋은 질문입니다.

no-store만으로 캐시가 무효화 되어야 하는 것이 맞습니다.

그런데 HTTP 스펙이라는 것이 모든 상황을 완벽하게 정의했으면 좋겠지만, 디테일하게 들어가면 모호한 부분들이 존재합니다.

예를 들어서 웹 브라우저에서 앞으로가기, 뒤로가기를 했을 때도 이것을 캐시로 볼 것인가? 이때는 no-store만 보고 판단할 것인가? no-cache를 보고 판단할 것인가?

HTTP 1.1을 지원하지만 조금 오래된 브라우저와의 호환, 그리고 버그

수 많은 프록시 캐시 업체들과 그 구현 서버 등등...

이런 문제들 때문에 no-store만으로 해결하지는 못하고, 나머지 옵션들도 함께 사용하게 됩니다. 그래서 구글이나 네이버 등 주요 메이저 사이트의 응답을 보면 cache-control: no-cache, no-store, must-revalidate를 함께 가져갑니다.

관련해서 더 자세한 내용은 다음 링크를 참고하시면 도움이 되실거에요^^

https://stackoverflow.com/questions/49547/how-do-we-control-web-page-caching-across-all-browsers

감사합니다.

2

minho oh

답변해주셔서 감사합니다!!

캐시 관련 질문입니다.

0

616

1

ETag 질문입니다.

0

727

1

캐시의 설정 주체

0

534

1

영속쿠키 질문입니다.

0

503

1

협상(accept-language)

0

686

1

에러 코드의 구현 주체

0

437

1

웹서버가 구현?

0

595

1

필수헤더?

1

559

1

Host와 Port

0

772

1

다른 도메인이 같은 포트를 사용하는 경우

0

1258

1

표준 헤더와 임의 헤더

0

532

1

POST 등록 후 Location 헤더

0

568

1

프로세스의 상태가 변경되는 경우에 Post 사용

1

1808

1

지속연결에 대해서.

0

691

1

제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.

0

592

1

캐시 내용중 no cache 일때

0

357

1

DNS 서버 관련 질문

1

747

1

캐시로 저장된 파일의 유효기간은 얼마나 되나요?

0

661

1

웹브라우저 요청흐름 질문입니다.

0

846

1

캐시 무효화 질문드립니다

0

561

1

리다이렉트와 리다이렉션 차이?

0

2591

1

쿠키 및 세션 관련 질문드립니다

0

586

1

HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.

0

1642

1

header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?

0

480

1