-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
eTag 캐시 제어
24.02.05 15:21 작성 조회수 170
1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
last-modified를 테스트 해봤을 때 캐시가 만료되어서 다시 요청을 하면은 304 상태코드를 알아서 응답했는데
eTag를 사용했을 때는 알아서 304를 응답하지 않고 200을 응답하더라구요.
그래서 직접 비교를 하는데 eTag 설명에서 캐시 제어 로직을 서버에서 완전히 관리한다 라는 말이 이렇게 개발자가 직접 관리 한다는 뜻인가요? 아니면 원래 알아서 304를 반환하는데 뭔가를 잘못한 것인가요?
답변을 작성해보세요.
1
김영한
지식공유자2024.02.06
안녕하세요. ABBCD님
last-modified를 사용하든 eTag를 사용하든 서버에서 캐시가 적용 될 만한 상황인지 아닌지 판단해서 200 또는 304를 직접 정의해서 반환해야 합니다. 이 부분을 원래는 개발자가 직접 컨트롤 해야 하지만, 대부분의 웹 서버(Apache, nginx, tomcat 등등)들은 정적 리소스에 한해서 이런 부분을 자동으로 처리해줍니다.
정적 리소스가 아니라 컨트롤러를 통해서 무언가를 반환하는 경우에는 개발자가 결과를 직접 정의해야 합니다.
감사합니다.
답변 1