IE6 + XHR + gzip + “no-cache” 버그
XE 개발 도중 발견한 IE6의 버그입니다.
모든 IE6에서 발생하는 것은 아니지만, 일부에서는 분명 발생하고 있습니다. 관련한 버그 리포팅을 받고, 테스트용으로 똑같은 IETester를 WindowsXP SP3와 Windows7에 각각 설치했었는데, XP에서는 발생하지 않았고 Windows7에서는 발생했습니다. 해외에서도 비슷한 사례가 보고된 바 있습니다. 단, 해외와는 달리 frame을 포함하지 않아도 발생한다는 것이 저희가 발견한 사례입니다.
버그 발생 조건은 이렇습니다.
- IE6 사용
- XHR로 컨텐트 요청
- 서버에서 gzip 압축으로 컨텐트를 전송하며, Cache-Control 헤더에 no-cache, no-restore 등의 값을 설정했을 때
혹시나 싶어 gzip 압축 전송 옵션을 사용하지 않았더니 아무런 문제없이 정상동작하는 것을 확인했습니다.
해결책을 여러 가지 방법으로 찾아보았으나 결국 ‘IE6의 버그’라는 말만 있을 뿐 마땅한 대안은 없는 듯 합니다. 안 그래도 느린 IE6인데, 성능을 높이기 위한 gzip 전송마저 못하게 한다면 더 느려질 수 밖에 없습니다.
IE6를 업그레이드 해야할 이유가 하나 더 늘었습니다.
