Internet Explorer/구버전의 문제점
[image]
[image]
[image]
1. 개요
IE6을 비롯 웹표준을 지키지 않는 구 버전들이 오랫동안 쓰이면서 인터넷 익스플로러의 여러가지 문제점이 지적되어 왔다. 아래 문제점의 대부분은 IE8 이하의 구 버전에서 발생하는 문제점이며 IE10의 시점에서는 해결되어 있다.
2. 목록
2.1. 지나치게 무겁고 느리다
모질라 파이어폭스[1] , 구글 크롬, 오페라 등과 비교해서 웹 페이지를 띄우는 속도가 느리고 메모리 점유율도 높다. 게다가 버전이 올라갈수록 무거워진다. 특히 IE 7은 매우 느렸고 IE 8에서 조금 빨라지긴 했지만 큰 차이는 없다. 게다가 IE 7과 8 모두 뭔가 불안정한지 자주 "응답 없음" 메세지를 보게 되며[2] 세션 복구나 기타 새로 추가된 기능의 대부분이 타 웹 브라우저에 비해 안정성과 편의성이 떨어진다. 그나마 이 속도 문제는 IE 9에서 많이 개선되었다. 더 나아가 IE10은 크롬보다 더 가볍게 작동하며, 메모리도 덜 먹는 브라우저이다. 크롬이 부가 기능 추가에 힘쓰면서 워낙 프로그램이 무거워지고, 메모리 점유율도 높아졌기 때문이다.
그럼에도 불구하고 IE 자체가 윈도우즈 탐색기와 연동되어 있어[3] 그만큼 운영체제에 부담을 주어 장시간 웹서핑시 글자가 아예 안 보이는 등 컴퓨터가 맛탱이가 가기 시작하며, 이 때쯤이면 재부팅을 해줘야 한다는 얘기는 XP 시절까지는 통했지만 윈도비스타 이후로는 윈도 탐색기와 IE가 어느 정도 분리된 상태이기에 2020년 현재로서는 약간 틀린 내용이긴 하다. 다만 아직도 찝찝한 부분은 남아있는 것은 사실. 컴퓨터가 저사양이거나 창/탭을 여러 개 띄워 놓고 아주 장시간 웹서핑을 하는 경우는 IE보다는 구글 크롬이나 모질라 파이어폭스 같은 다른 웹브라우저를 사용하는 것을 고려해볼 수 있다.
게다가 고속화를 위한 통신 규약인 HTTP/2는 Windows 10+IE 11에서야 지원된다. 그래서 기껏 HTTP/2 환경을 만들어둬도 상당수의 인터넷 이용자는 쓰지 못하는 상황.
2.2. 기능이 적다
그 흔한 탭 기능도 IE7에 와서야 비로소 지원하기 시작했는데 거기다가 또 유명무실. IE7과 8의 링크 열기 기본값이 '''항상 새 창에서 팝업 열기'''이다. 참고로 인터넷 옵션에는 ''항상 새 탭에서 팝업 열기''뿐 아니라 ''Internet Explorer에서 팝업을 여는 방법 자동으로 결정''도 있다. 다행히 IE9부터는 기본값이 ''Internet Explorer에서 팝업을 여는 방법 자동으로 결정''으로 수정되었다.
다운로드 매니저 기능은 넣지 않다가 IE 9에서 뒤늦게 추가되었다. 마우스 제스처 기능은 애드온 등을 통해 지원되기는 하지만 쓰는 사람은 많지 않다.[4] 이러한 부가 기능을 사용하기 위해서는 타사의 프로그램을 찾아서 깔아야 한다. 그나마도 자체적으로 운영하는 확장기능을 받기 위한 공간[5] 이 없는지라 모질라 파이어폭스나 구글 크롬같이 부가기능을 체계적으로 관리하는 것은 불가능에 가깝다. 웹마 같은 IE 기반의 기능 많은 브라우저를 쓰는 것도 하나의 대안이다.
물론 ActiveX를 사용하면 무궁무진한 기능이 생긴다. ''BHO(Browser Helper Object)''이다.
2.3. 웹 표준을 어긴다
전세계의 네티즌들이 지적하는 IE의 가장 큰 문제점으로, IE 7 이하 버전으로 Acid 3 테스트[6] 를 해보면 얼마나 처참한지 그 실태를 알 수 있다. 심지어 파이어폭스 10.0.12 ESR 버전은 Acid3 만점이다![7] IE 8 까지는 Acid 2 테스트를 간신히 통과하는 수준이나, IE 9에선 문제가 해결된 상태다. IE 9 베타 버전이 Acid 3 시험에서 95점, 정식 버전에서 100점을 받았다.[8] 하지만 아직도 구 버전을 사용하는 사람들이 많아서 골칫거리.[9] IE8의 경우 HTML5test는 555점 만점에 고작 33점을 받은 바 있다. 심지어 파이어폭스 10.0.12 ESR을 '''Windows 2000'''에서 구동시켜 테스트해도 293점이다![10]
CSS 선택자 및 기능 지원 목록을 보면 그야말로 눈물난다. IE 6은 CSS 1의 선택자도 모두 지원되지 않고, CSS 2의 일부 기능도 지원되지 않는다. 예를 들면 사용 빈도가 높은 min-width나 max-width, display:inline-block 등이 지원이 안 된다. 이 때문에 IE 6 지원을 위해 CSS 파일은 핵(hack)으로 도배가 되는 실정이다.[11] IE 7은 좀 나아졌고 CSS 2의 기능도 거의 지원하지만 CSS 2의 선택자가 모두 지원 안된다. IE 8에서는 좀 더 늘어났지만 모두 지원하지 않는 것은 마찬가지. IE 9가 되어서야 CSS 2의 선택자를 모두 지원하고, CSS 3의 선택자 일부와 기능 일부를 지원하게 되었다. 하지만 아직까지 구 버전 IE 사용자층이 남아있기 때문에 '호환성 보기' 기능을 첨부해두었다. 하지만 그 호환성 보기 기능이 표준 모드여야 하는 사이트에서 제멋대로 작동하는 경우도 왕왕 있어서 추가적인 삽질을 해야 하는 건 마찬가지. 나무위키에서 소스 보기를 했을 때 나오는 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>도 그러한 삽질 중 하나로, 이 방법이 제일 널리 쓰인다. 다만 IE11에서는 한게임이나 디시인사이드 등의 일부 사이트에서 이 메타 태그가 있는데도 제멋대로 호환 모드로 표시되는 기이한 현상이 발생한다.
거기다 Jscript라는 JavaScript 짝퉁(?)을 쓰고 있는데, 이게 표준 JavaScript랑 차이가 좀 있는지라 다른 웹 브라우저를 쓰기가 영 좋지 않은 상황이 된다. 대표적인 것이 웹상에서 즐겨찾기를 하는 기능과 document.all인데, 전자는 우측 상단의 ☆을 클릭하도록 유도하면 되지만 후자는 좀 심각한데, 다른 브라우저에서 '''스크립트 오류를 뱉어내는데다'''(당연히 JavaScript에는 그런 구문 따위는 없으니까. 심지어는 10 버전 이후의 IE도 에러를 뱉어낸다!), 웹상의 모든 개체를 읽기 때문에 발적화의 원흉이 된다. 그럼에도 지금도 여전히 많이 쓰인다는 것이 문제. 사실 이 구문이 많이 쓰였던 이유는 document.all을 쓸 경우 name을 id처럼 사용할 수 있으며, 해당 name이 주어진 개체를 곧바로 사용할 수 있기 때문이다. HTML 명세에서 id는 '''단 하나'''의 개체에만 지정할 수 있고, 이를 읽어들이는 JavaScript의 표준 구문인 document.getElementById('id')는 좀 긴지라 표준 구문이 터부시된 것.
또한 UTF-8 파일명을 제대로 지원하지 못한다. 다른 브라우저에서는 UTF-8 파일명을 제대로 읽어내는데, IE에서는 '''100% 깨져서 나온다.''' 그래서 파일명을 영문으로 바꾸던가, 아니면 인코딩 삽질을 하던가 추가 작업을 해야만 한다. 심지어는 '''후속작인 엣지에서도 여전하다.'''
PNG의 알파 채널도 IE9에 가서야 온전히 지원한다. IE6까지는 알파 채널 자체를 지원하지 않아서 회색으로 나왔었고, IE7~8에서는 알파 채널을 지원하기는 하지만 <img>에서만 지원하고 배경에서는 지원하지 않는다. 이 때문에 웹 디자인의 자유도가 상당히 낮았다.
소소한 문제점으로, <img>의 alt 속성을 title 속성(개체 위에 마우스 포인터를 올리면 설명을 출력하는 속성)으로 인식하는 문제가 있다. 그래서 alt 속성을 아예 안 쓰는 일도 왕왕 있었다. 물론 이미지 로딩이 제대로 안 되거나 시각장애인 입장에서는 이뭐병...
그렇다고 '''여러 버전을 한꺼번에 설치할 수 있냐면 그것도 아니다.''' 렌더링은 판이한데 버전만 다른 같은 프로그램이기 때문에''' 정상적인 방법으로는 1컴퓨터당 1개의 버전만 쓸 수 있다.''' 즉, IE 6, IE 7, IE 8, IE 9 등이 각각 설치된 컴퓨터가 있어야 한다.[12] 다행히 Spoon.net Browser Sandbox(IE6부터 IE10까지)와 IEtester(IE5.5부터 IE10까지)라던가 Utilu IE Collection(IE 3.0부터 IE9까지)[13] 라는 해결책이 있기는 하지만 실제 IE와 작동 방식이 미묘하게 다르고 플러그인(특히 Active X) 관련으로 뻗는 경우도 있다. 다른 브라우저는 이런 프로그램이 거의 없는데 IE만 이런 프로그램이 있다는 것은 IE가 버전별로 얼마나 들쑥날쑥 하는지를 보여주는 산증인이기도 하다.
이러한 단점 때문인지 컴퓨터 좀 한다는 사람들 치고는 IE를 위주로 웹 브라우징을 하는 사람들이 적다. 여담이지만, 심지어 'I hate internet explorer'라는 글이 박힌 티셔츠까지 팔고 있는 걸 보면 말 다 했다.(#)
원 제작사 스파이글라스사는 로열티를 받기로 하고 MS측에 모자이크 개발권을 넘겼다. 하지만 MS가 익스플로러를 무료로 배포하는 바람에 스파이글라스는 한푼도 받지 못했다고 한다.
2.4. 대한민국에서 구버전 사용의 문제점
대한민국에서는 IE의 최신 버전이 발표되고 있음에도 계속 구버전을 쓰는 일이 많아서 문제점이 증폭되곤 했다. IE9가 출시된 상태에서도 구 버전에 최적화된 사이트로 운영하거나, 사이트에 따라서는 IE7, IE8도 소용없었다. 심지어 한 때는 IE6이 아니면 무조건 막고 보는 사이트도 있었으니...
안 그러면 사이트 자체가 동작하지 않거나, 평소 볼 일이 거의 없는 블루스크린을 지겹게 감상하게 된다. 예를 들면 NEIS(교육행정정보시스템)는 호환성 모드로 돌려도 IE8로 들어가면 KIN~을 날렸다. 나중에야 부랴부랴 수정하여 IE7, IE8 모두 잘(?) 작동하고 있다.[14] 2011년 3월부터는 IE8 지원을 시작했다. 그렇지만 정작 초기화면에는 'IE7 이 최적화'라고 명시하여, 답이 없었다. 그저 답이 없었다. 그 때문에 학교 컴퓨터들은 윈도우 XP에 IE7이 깔려 있는 경우가 꽤 많았다.
2013년 3월 현재 IE10까지는 접속하는 데에는 무리는 없지만, 2013년 5월을 기준으로 NEIS에서는 IE10을 지우고 8, 9 버전으로 바꾸라는 메세지가 뜨고, 안정화 과정은 6월 이후로 가능할 거라고 알려져 있다. 그렇지 않아도 2014년 4월 8일자로 기술지원이 종료되는 XP 때문에 모든 PC 를 윈도우 7로 바꿔야 하는 판에, 자동 업데이트시에 포함되어 있는 IE10 을 업데이트 항목에서 일일이 제거하러 다녀야 했다. 그거 때문에 담당 전산 요원들은 일일이 방법 알려주느라 수난이 있었다.
11 사용시 작동하지 않는 기능이 더 많다. 보급은 2010년부터 되었지만 학교에서 윈도우 7을 쓸 날은 아직 상당히 먼 것 같다. 실제로 학교에 들어오는 컴퓨터는 이것 때문에 윈도우 7을 XP로 다운그레이드하는 웃지 못할 일이 벌어졌다. 그런데 편법으로 브라우저 버전만 IE7으로 인식시키면 큰 문제없이 잘만 돌아간다는 걸로 봐서는 지원을 '''안''' 했다고 보는 편이 유력하다. 최후의 방법으로 파이어폭스에서 IETab을 써서 NEIS 업무를 봤었다.
2009년부터 전세계적으로 'IE6 퇴출 운동'이 벌어지면서 국내 웹 사이트에서도 IE8을 쓰라고 홍보 중이지만, OS가 비스타 혹은 7이 아닌 이상 많은 사람들의 반응은 '에이, 귀찮게스리…' 더군다나 컴퓨터 자체에 대해 지식을 많이 가지고 있지 않은 (컴퓨터의 다양한 기능을 두루 사용하기보다는 특정 업무 한두 개 정도만 처리하는데 사용하는) 라이트 사용자층은 상기했듯 IE 이외의 브라우저도 모르고, IE가 6, 7, 8 등의 버전으로 나뉜다는 건 더더욱 모른다.[15] 업데이트? 그런 것까지 알길 바라는 건 정말 무리다. 즉, '''처음 주어진 상태 그대로의 컴퓨터만을 사용한다'''는 건데, 아직까지 한국은 물론 전세계적으로 점유율이 가장 높은 윈도우 OS는 IE6를 기본 브라우저로 채택한 윈도우 XP이다. 즉 라이트 사용자층들은 '''컴퓨터가 못 쓰게 돼버릴 때까지 윈도우 XP(와 IE6)'''를 계속 쓸 테고, 또 컴퓨터가 못 쓸 수준이 돼도 일단 비싼 신형 컴퓨터가 아닌 저가 컴퓨터(어차피 처리하는 업무가 많지 않으므로 싼 게 비지떡)를 고집하게 될 텐데 그 '''저가 컴퓨터는 보통 OS가 또 윈도우즈 XP (그것도 불법 복제판...).'''…결국 한동안은 IE6는 계속 살아있을 전망이었다. 결국 마이크로소프트가 강제로 IE를 최신 버전으로 업데이트시켰고, 결국 2015년 현재는 IE6으로 인터넷하는것 자체가 힘들게 되었다.
개발자 입장에서는 IE6에 호환성 맞추는 데에만 개발 시간의 절반이 들어간다고 할 정도로 문제가 많다. IE6의 HTML 해석 및 CSS 관련 버그는 웹 디자이너들의 오랜 골칫거리이다. IE6에 맞춰 사이트를 제작하면 IE7 이상 브라우저와 다른 브라우저에서 문제가 발생하기 일쑤이고, 다른 브라우저에서는 멀쩡한데 유독 IE6에서 깨지는 현상은 일상다반사이다. 그래서 IE6와 타 브라우저 모두 잘 먹히는 방식으로 디자인 하려니 쓸 수 있는 코드가 매우 제한된다 . 앞으로 가자니 뒤가 시끄럽고, 뒤로 가자니 앞에서 난리이고, 앞으로도 뒤로도 가지 않자니 공간이 없다고 볼 수 있다. 그렇다고 어찌어찌 IE6와 다른 IE에 제대로 맞추면 이번엔 사파리, 크롬, 파이어폭스 같은 다른 브라우저에서 또 디자인이 요동을 치고... 이에 IE6용 코드, IE6 이후 버전용 코드, IE 외 다른 브라우저용 코드를 싹 몰아넣는 방법도 있긴 하지만 그러면 작업량은 기하급수적으로 늘어나며 동시에 사이트가 무거워진다. 그나마 인터넷이 빠른 한국이야 이런 문제점이 별로 실감되지 않지만, 인터넷 속도가 처절한 해외에서 한국 사이트에 접속해보면 정말 눈물이 다 날 지경. [16]
이렇듯 이 문제는 개발자는 물론이거니와 사용자 입장에서도 큰 손해로 돌아오게 되니, 귀찮다고 하지 말고 가능하면 IE11 이상으로 업데이트하는 편이 좋다. 이미 HTML5 명세가 확정된 지 3년이나 지난 시점에서 XP+IE8은 설 자리가 없다.
IE 구버전 퇴출 운동이 벌어지면서 웃지 못할 오폭(?)도 벌어지고 있는데, 실제로 IE 버전 8이나 9 이상임에도 불구하고 사이트 내부 체크 스크립트에서 버전 검사 결과가 잘못 나와 '이 사이트는 최신 버전에 최적화되어 있으니 당신은 볼 수 없음' 메시지를 만나는 것이다. 구글 서비스 같은 경우 최대한 컨텐츠를 표시해 주면서 화면 상단에 레이어로 안내 메시지를 띄우는 정도이기 때문에 버전 체크가 오작동해도 큰 문제가 없으나 일부 사이트는 자부심(?) 때문에 IE 업그레이드/기타 브라우저 다운로드 링크만 제시된 채 내용을 볼 수 없도록 아예 막아버리는 경우도 있다. 일부 외국 사이트들은 '''IE면 무조건(!) 막고 보는''' 사이트들도 있다.
당연하지만 반응형 웹을 구현하는 데에도 애로사항이 꽃핀다. 구버전 IE가 지원하지 않는 최신코드의 정수라는 것에서 벌어지는 문제라 그 결과는 와장창...
이런 일화도 있다.
2017년 시점에서는 위 글에서 IE6을 IE8로 바꿔 보면 거의 일치하는 실정이다.
2020년 시점에서는 위 글에서 IE6을 IE11로 바꿔 보면 거의 일치하는 실정이 되었다. MS가 자사 브라우저인 Microsoft Edge를 오픈 소스 기반의 크로미움 엔진으로 전환하고 이를 주력으로 밀면서 IE11는 사실상 OS의 한 구석에 버려진 브라우저가 되었고, 필수적인 보안 업데이트를 제외하면 최신 기술이 적용될 리가 없다. 결국은 IE의 마지막 버전인 IE11 또한 퇴출되면서 인터넷 익스플로러가 역사 속으로 사라질 날이 머지 않을 것으로 보인다.
[1] Urban Dictionary에서는 인터넷 익스플로러를 "Windows XP를 구매했을 때 Mozilla.com에 가서 파이어폭스를 다운받게 해주는 좋은 프로그램"이라고 정의를 내렸다.[2] 이는 시스템 수준의 수정이 필요한 부분이 있었는데 XP는 그것이 불가능한 걸 간과해서 초기에 그냥 깔았다가 피본 사람들이 많다. Windows 7은 상관 없다. N 붙은 게 아니면 이게 기본이기도 하고.[3] 윈도 98 시절에는 영문 버전의 IE를 설치하면 윈도 창 메뉴까지도 영어로 바뀌어버리곤 했다.[4] 파이어폭스나 구글 크롬도 확장기능을 설치해야 한다.[5] 파이어폭스의 부가기능 페이지, 크롬의 크롬 웹 스토어 등.[6] this reference rendering을 클릭하면 모범 답안이 나온다. IE 6/IE 7/IE 8로 접속하면 모범 답안과는 크게 다를 것이다. 간혹 아예 인터넷 익스플로러가 종료되기도 한다.[7] 가끔 IE 초기에는 웹 표준이 정해지지 않아서 문제될 것이 없다고 마소를 실드치는 사람들이 있는데 HTML은 1993년 6월 초안이 발표된 상태이며초안문, 이를 정리 후 1995년 2.0 버전에 대한 공식적인 발표가 있어왔다.RFC1866-HTML2.0규격 IE6의 경우에도 부분적으로 HTML 4.01, CSS 2까지 지원하고 있는 상태였다. [8] 참고로 파폭 4.0b6pre가 97점이며 2009년 6월 사파리 4.0을 시작으로 오페라 10, 크롬 4.0 등이 Acid3 테스트를 100점으로 통과했다.[9] 특히 관공서라든가 공공장소에서는 아직도 건재하다. 이유는 대부분의 이쪽 컴퓨터에서 재부팅을 하면 파일들은 물론이요 설사 업데이트를 해도 업데이트 전으로 초기화되기 때문이다. 설마 이것도 아니면은 당신은 귀찮아서라든가 업데이트의 중요성을 '아예' 모르기 때문이다. [10] 참고로 IE 11은 340여점이고, 파이어폭스 '''1.5'''가 18점이다.[11] 인터넷에 돌아다니는 IE 6 지원 핵을 보면 그야말로 안습크리. IE 6의 버그를 이용해서 해당 구문을 IE 6에서만 인식시키는 방법을 쓰기 때문. 이게 전통(?)이 되어서인지 IE 이후 버전도 핵이 생겼고, 심지어 파이어폭스나 구글 크롬, 사파리 등은 브라우저에서 정식 지원하는 핵이 생겼다.[12] 하나의 컴퓨터에 운영체제를 여러 개 깔 수도 있긴 하지만 역시 번거롭긴 마찬가지. 정 뭣하면 VMware나 VirtualBox 같은 가상화 프로그램을 쓸 수도 있다. [13] 다만 간혹 한글이 깨진다[14] 참고로 윈도우즈 7은 IE6이나 7로의 다운그레이드가 불가능하다. 작년부터 출시되었던 윈도 7 노트북을 사면 업무를 못 했다. [15] 심지어는 윈도우 7, 8 등으로 부르기도 한다. ''Windows Internet Explorer''라고 떠서 오해한 듯하다.지식인 질문 링크 안습[16] 현재 데이터 센터 90%가 10Gbps급의 인터넷을 들여오고 있는데 해외 인터넷 탓하면 정말 답이 없다.