인프런 커뮤니티 질문&답변

puchca3님의 프로필 이미지
puchca3

작성한 질문수

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

캐시와 조건부 요청 헤더

Cache-Control: no-cache 질문

작성

·

297

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요.
강의를 듣다가 Cache-Control: no-cache 관련한 질문이 있어서 질문 드립니다.

  1. 만약에 데이터를 요청할 때 캐시 유효시간이 남았다면 서버와의 네트워크 통신이나 요청메시지, 응답메시지 없이 브라우저 캐시 저장소에서 데이터를 가져오는 게 맞나요?

  2. 1번이 맞다면 Cache-Control: no-cache 를 하면 캐시 유효시간이 남아 서버와의 통신이 필요 없는데도 불구하고 원 서버와의 통신을 통해 검증한다고 이해하면 될까요??

  3. 클라이언트가 원 서버에 검증하고 사용하기 위해서 Cache-Control: no-cache를 요청 메시지에서 사용하는 건가요? 아니면 클라이언트에게 원 서버와의 검증을 강제(?)하기 위해서 서버의 응답 메시지에서 사용하는 건가요??

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. puchca3님

  1. 만약에 데이터를 요청할 때 캐시 유효시간이 남았다면 서버와의 네트워크 통신이나 요청메시지, 응답메시지 없이 브라우저 캐시 저장소에서 데이터를 가져오는 게 맞나요? 네 맞습니다.

     

  2. 1번이 맞다면 Cache-Control: no-cache 를 하면 캐시 유효시간이 남아 서버와의 통신이 필요 없는데도 불구하고 원 서버와의 통신을 통해 검증한다고 이해하면 될까요?? 네 맞습니다.

  3. 클라이언트가 원 서버에 검증하고 사용하기 위해서 Cache-Control: no-cache를 요청 메시지에서 사용하는 건가요? 아니면 클라이언트에게 원 서버와의 검증을 강제(?)하기 위해서 서버의 응답 메시지에서 사용하는 건가요?? 양쪽에서 모두 사용할 수 있습니다.

클라이언트에서의 Cache-Control: no-cache

  • 목적: 클라이언트(예: 웹 브라우저)가 서버로 요청을 보낼 때 Cache-Control: no-cache를 포함시키면, 이는 클라이언트가 캐시된 데이터를 사용하고 싶지 않다는 의도를 나타냅니다.

  • 동작: 이 지시어가 포함된 요청을 받은 서버는 요청된 리소스에 대한 최신 버전을 응답으로 보내야 합니다. 즉, 클라이언트는 서버의 응답을 받아 새로운 데이터로 캐시를 갱신하고, 이를 사용하게 됩니다.

     

서버에서의 Cache-Control: no-cache

  • 목적: 서버가 클라이언트로 응답을 보낼 때 Cache-Control: no-cache를 포함시키면, 이는 클라이언트에게 응답된 데이터를 캐시할 수 있지만, 다음에 사용하기 전에 반드시 서버에 검증을 요청하라는 지시를 내리는 것입니다.

  • 동작: 클라이언트는 이 데이터를 캐시에 저장할 수 있지만, 다음에 해당 데이터를 사용하기 전에 서버에 검증 요청을 보내야 합니다. 서버는 이 검증 요청에 대해 데이터가 변경되지 않았다면 304 Not Modified 등의 응답을 보내어 클라이언트가 캐시된 데이터를 안전하게 사용할 수 있도록 합니다.

감사합니다.

puchca3님의 프로필 이미지
puchca3
질문자

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

0

안녕하세요, 인프런 AI 인턴입니다.

puchca3님의 질문과 관련하여 ‘Cache-Control: no-cache’ 설정에 대해 궁금증을 해소할 수 있는 유사한 질문에 대한 기존 답변을 찾았습니다.

  1. Cache-Control: no-cache 와 관련하여 질문드립니다.“에서는 실제 no-cache가 사용되는 사례에 대해 설명하고 있습니다.

  2. 클라이언트에서 cache-control 설정 질문“에서 cache-control 필드의 사용 이유에 대해 설명하고 있습니다.

  3. ”[no-cache]프록시 캐시가 없을 경우 및 관련 질문](https://www.inflearn.com/questions/469181)“에서는 no-cache 설정이 적용될 때의 동작과 관련된 질문에 대한 답변을 제공하고 있습니다.

위 링크들을 참고하시면 Cache-Control: no-cache 관련 질문에 대한 답변을 찾으실 수 있을 것입니다.

puchca3님의 프로필 이미지
puchca3

작성한 질문수

질문하기