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

alrnr3521님의 프로필 이미지
alrnr3521

작성한 질문수

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

검증 헤더와 조건부 요청2

8분쯤

작성

·

314

1

1) ETag사용시 클라이언트가 캐시 메커니즘을 모른다고 하셨는데 그러면 Last-Modified사용시에는 클라이언트가 캐시 메커니즘을 알고있는건가요?

2) 혹시나 아는거라면 캐시 메커니즘을 안다고 하는게 정확히 무슨뜻인가요?

 

답변 1

5

안녕하세요. alrnr3521님, 공식 서포터즈 David입니다.

1. Last-Modified 를 사용할 경우 클라이언트는 서버의 캐시 매커니즘을 알게 됩니다.

2. 그 이유는 'Last-Modifired값은 파일이 변경될 때마다 갱신'되기 때문입니다.

일반적으로 운영체제는 파일을 수정하게 되면 최근 수정 날짜를 기록하게 됩니다.

이를 가져와 Last-Modified 값으로 사용하게 되는데 파일이 수정되면 무조건 해당 값이 변경되기 때문에 클라이언트가 캐시 매커니즘을 알고 있다고 표현하신 것 같습니다.

그렇다면 캐시 매커니즘을 모른다는 ETag와는 어떻게 다르냐고 물으실 수 있습니다.

ETag의 경우 파일을 수정한 후, 수정하기 전과 동일한 ETag값으로 클라이언트에게 제공할 수 있습니다.

파일이 수정되었음에도 불구하고 말입니다.

따라서 클라이언트 입장에서는 해당 파일이 수정된 후의 ETag값인지 아닌지 알 수 있는 방법이 없습니다.

물론 ETag를 파일을 해시해서 나온 결과 값으로 사용한다면 파일을 수정할 때마다 다른 값이 나오기 때문에 Last-Modified와 동일하게 파일이 수정된 것을 알 수 있기도 합니다.

감사합니다.

alrnr3521님의 프로필 이미지
alrnr3521

작성한 질문수

질문하기