1. 개요
아파치 웹 서버에서 mod_deflate 모듈 설정 후 304가 아닌 200으로 응답하는 상황에 대한 정리이다.
2. 버그
버그에 대한 리포트가 있다.
버그 리포트 : https://bz.apache.org/bugzilla/show_bug.cgi?id=45023
실행 파일을 리빌드할 수 없다면 다음의 workaround를 적용할 수 있다. 이렇게 하면 압축 시에도 static contents에 대한 304 처리로 로컬 캐시 응답 가능하다.
2-1. 헤더 설정
RequestHeader edit "If-None-Match" "^\"(.*)-gzip\"$" "\"$1\"" Header edit "ETag" "^\"(.*[^g][^z][^i][^p])\"$" "\"$1-gzip\""
2-2. Etag 삭제
<IfModule mod_headers.c> Header unset ETag </IfModule> FileETag None
3. 참고
파일 압축에는 gzip과 deflate 방식이 있는데 deflate 방식은 지원하지 않는 브라우저도 많고 효과가 떨어지기 때문에 gzip을 사용하는 것이 일반적이다.