Posts tagged ‘link’

IE에서 redirect 된 css 파일 처리 오류 – 잘못된 제목

2008. 5. 7
본 포스트는 전반적으로 잘못 이해된 사항을 기반으로 작성되었습니다. 제목에서 IE에서의 오류라고 되어 있는데, 오류인지는 잘 모르겠지만 일단 모든(IE, FF, Safari)에서 동일하게 동작합니다. 제 생각에는 정상적인 동작이라고는 생각되지 않습니다. 브라우저는 response type이 text/css인 경우에만 css로 해석해야 올바르지 않을까요? 그리고 redirect시에만 발생하는 것처럼 글 이 작성되었는데 redirect와 무관하게 발생합니다.

어쨌든 결론은 “존재하지 않는 css를 link로 참조하면 의도하지 않은 스타일이 적용될 수 있다” 입니다.


최근 스킨을 적용하기 위해 css를 dynamic하게 생성하도록 하는 페이지를 만들다 발견된 현상입니다.

IE에서 <link>로 요청된 css가 redirect된 경우 redirect된 resource가 css(mime type이 text/css)가 아닌 경우에도 해당 resource를 해석하여 css로 처리하는 현상이 있는 것으로 보입니다.

Daum 사이트에서는 파일이 존재하지 않는 경우 http://status.daum.net/error/error404.html 로 redirect 되는데, 다음 코드와 같이 존재하지 않는 css 파일을 요청할 경우 위에서 언급한 문제가 발생합니다.

[source:html]


텍스트 컬러는?



[/source]

http://status.daum.net/error/error404.html 페이지의 코드를 보면 style이 페이지에 포함되어 있는데, 위 코드에서 divid로 지정한 #B_C selector 가 존재합니다. 따라서 위 페이지를 Internet Explorer에서 볼 경우 color와 font-size가 error404.html에서 정의한데로 출력되는 것을 볼 수 있습니다.

[source:html]

[/source]

위 코드는 error404.html에 포함된 #B_C selector 관련 스타일이며, 다음 그림은 ie7에서 위 html 페이지의 출력 결과입니다.

css_noexist_ie_error1.PNG

의문사항

  • redirect된 대상이 html인 경우에만 발생하는지?
  • html인 경우에만 발생한다면, redirect된 html에서 또 다른 스타일시트를 link로 참조한 경우에는 어떻게 될것인지?