인프런 커뮤니티 질문&답변
강의 수강 중 궁금한 점이 생겼습니다
작성
·
232
1
1. ETag를 통해 데이터가 변경됐는지를 비교한다고 하셨는데 그 비교는 누가 하는건가요??? 서버쪽에서 ETag 헤더를 가져와서 비교하는 작업을 개발자가 직접 해야하는 것인가요??
2. 저는 요청이 클라이언트 -> 서버 라고 생각을 했는데 강의를 들으면서 이해한 것으로는 클라이언트 -> 웹 브라우저 -> 서버라는 생각이 들었습니다. 제대로 이해한 것이 맞을까요??
3. 304 Not Modified 상태코드를 받으면 브라우저가 알아서 캐시 저장소에서 데이터를 클라이언트로 보내주는 것인가요??? 아니면 클라이언트가 따로 작업을 해줘야하는 것인가요??
답변 1
5
안녕하세요. hihiwwg님
1. ETag를 통해 데이터가 변경됐는지를 비교한다고 하셨는데 그 비교는 누가 하는건가요??? 서버쪽에서 ETag 헤더를 가져와서 비교하는 작업을 개발자가 직접 해야하는 것인가요??
->네 서버에서 직접 비교해야 합니다. 그런데 보통 정적 리소스의 경우 웹 프레임워크나 웹 서버들이 기본으로 제공합니다.
2. 저는 요청이 클라이언트 -> 서버 라고 생각을 했는데 강의를 들으면서 이해한 것으로는 클라이언트 -> 웹 브라우저 -> 서버라는 생각이 들었습니다. 제대로 이해한 것이 맞을까요??
-> 웹 브라우저가 바로 클라이언트 입니다. 클라이언트는 요청하는 곳, 서버는 해당 요청을 받는 곳으로 이해하시면 됩니다.
3. 304 Not Modified 상태코드를 받으면 브라우저가 알아서 캐시 저장소에서 데이터를 클라이언트로 보내주는 것인가요??? 아니면 클라이언트가 따로 작업을 해줘야하는 것인가요??
-> 네 보통 웹 브라우저들은 해당 기능을 다 구현해둡니다. 따라서 별도의 작업은 필요하지 않습니다.
감사합니다.






안녕하세요.
etag 관련 질문을 하려다가 비슷한 질문이 있는지 보고 찾다가 이 곳으로 오게 되었습니다. 1번이 비슷한 질문이라 추가 질문 드립니다.
서버 개발 시 etag관련해서 필터로 구현할 것 같은데 필수로 관련 로직( ShallowEtagHeaderFilter 사용 등 )을 구현을 해주는지 궁금합니다.
만약 구현되어 있지 않다면 무조건 200으로 리턴을 해주는지도 궁금합니다.
감사합니다.