HTTP 관련 질문
HTTP이용하여 서버측에서 호스트로 응답할때
ETAG가 있는데요
이 값은 HOST에서 어떻게 인지하는지요?
개인적인 생각으로는 cookie 값을 이용 하는듯 한데요
ETag: "122f4f-46-3baef35e"
이렇게 HOST가 응답받았다면 익스플러는 그냥
자신의 캐시를 사용하면 안된다고 바로 인지하는지요?
즉, 빈 값일 경우와 빈 값이 아닐 경우로..
아니면, 쿠키에 있는 뭔가를 이용해서 값을 비교해 보는지요
인터넷 찾아 보니 아래글이 있고요
ETag는 유일한 문자열을 지정해서 캐시를 사용할지 말지를 판단할수 있게한 필드입니다. 라는게 있는데요.
캐시파일과 서버파일의 수정일이 공교롭게도 같다면
ETag를 보고 판단하는데 ETag가 존재하는가 안 하는가로
판단할까요?
Last-Modified 필드는 Host와 서버 모두 동일한데 서버측에서 보내준 Etag에는 유일한 문자 값이 있다면 Host의 캐시를 이용하는 것이 아니라 서버에서 데이터를 다시 받을까요?
Last-Modified 필드는 그 문서(또는 리소스)가 최종 수정된 일시를 나타냅니다.
클라이언트(브라우저) 입장에서 캐시한 파일과 Last-Modified 필드가 동일하면 동일파일이라고 간주하고 캐시를 사용해도 되겠죠.
ETag는 Last-Modified의 한계를 보완한 필드입니다. 만약 특정페이지가 다른 파일로 변경되었지만 공교롭게도 그 교체된 파일과 수정된 일시가 같을 경우 클라이언트(브라우저)는 같은 파일로 잘못 인식하게 되는 문제점이 있습니다. 그래서 ETag는 특정파일을 나타내는 유일한 문자열을 지정해서 캐시를 사용할지 말지를 판단할수 있게한 필드입니다.
댓글 달기