IE7을 개발하면서 새로운 Native object-XMLHttpRequest가 추가되었다고 합니다. IE7을 개발한 "신규 경찰"은 IE6이 모두 ActiveX 개체 XmlHttp를 사용한다는 사실을 왜 알지 못합니까? XmlHttp에 어떤 문제가 있으며 IE7이 이 작업을 수행하는 이유는 무엇입니까? 알고 보니 모든 것은 단순한 궁합을 위한 것일 뿐이지만, 보는 이로 하여금 많은 것을 느끼게 한다.
IE7은 XMLHttpRequest 개체를 제공한 후에도 물론 ActiveX 개체 XmlHttp를 계속 지원할 것입니다. 이는 지난 수십 년 동안의 제품 업그레이드에 대한 Microsoft의 최소 "자격"입니다. 이제 IE의 Ajax 애플리케이션 코드. Sunava Dutta의 블로그에서는 그가 이렇게 한 원래 의도를 밝혔지만 실제로는 XmlHttp를 사용하기 위해 XMLHttpRequest를 제공하는 현재 IE가 아닌 브라우저와 호환되기 위한 것입니다. 그의 "엉터리" 샘플 코드 중 일부가 몇몇 냉철한 동지들에 의해 선택되었지만 나는 Microsoft가 이러한 "사소한" 문제에서 진정한 강점을 보여주었다고 생각합니다.
이는 IE와 넷스케이프가 패권을 놓고 경쟁하던 시절로 거슬러 올라갑니다. 당시 넷스케이프는 브라우저 시장에서 절대 1위였습니다. 빌 동지 때문에 마이크로소프트는 인터넷 전략에 잠잠해졌습니다. 처음에 넷스케이프는 산에는 호랑이가 없고 원숭이가 지배하는 느낌을 맛보았습니다. Bill이 다음과 같은 자체 검토 결론을 내렸을 때 Microsoft의 파일 형식이 인터넷에 존재하지 않는 것은 매우 위험하다는 사실을 알게 되자 Microsoft는 인터넷으로 진출하기 시작했습니다. 물론 당시의 Netscape와 IE는 오늘날의 IE와 Firefox처럼 골치 아픈 문제였습니다. 전자의 IE에는 번들로 제공되는 Green Express로 Windows가 있고, 후자는 오늘날 보안과 W3C의 깃발을 높이 들고 있는 모든 사람들로부터 지원을 요청받고 있습니다. 둘 다 강력한 적수라고 할 수 있지만 누구도 은인은 아닙니다.
이번 교살전에서 마이크로소프트는 상대적으로 안정적이다. IE 1.0, 2.0, 심지어 3.0(NT4.0이 IE3.0과 함께 제공되는 것 같음)도 Netscape와 상대할 수 없기 때문에 VC와 BCC 간의 경쟁처럼 Microsoft는 침체되어 있습니다. 하지만 마이크로소프트는 당시 넷스케이프의 상대가 되지 않는다는 것을 알고 IE 구현에 있어 넷스케이프와 호환되는 디자인을 많이 만들었습니다. 당시 넷스케이프는 자바스크립트를 단독으로 만든 것이 아니었기 때문입니다. 실제로 업계의 기본 표준입니다. 이러한 상황은 IE4.0까지 계속되었으며 IE는 점차 이점을 얻었고(물론 무료 Green Express 번들은 채식주의자가 아니었습니다) 이때 Microsoft는 자체 DOM을 근본적으로 설계하고 HTML 구문 분석을 수정하기 시작했습니다. 렌더링 효과, 새로운 HTML 태그 추가(이전에는 Netscape의 작업임), 물론 CSS 지원은 모두 Microsoft의 선택에 달려 있습니다.
오늘날의 IE7은 XMLHttpRequest 개체를 지원하여 소위 W3C 표준을 엄격하게 준수하는 Firefox와는 뚜렷한 대조를 이룹니다. 며칠 전 누군가 웹 개발자에게 클래식 스크립팅 포럼에서 Firefox를 보이콧하라고 요청했습니다. 그의 말은 극단적이고 뭔가를 막으려는 것처럼 보였지만 저는 여전히 그의 견해 중 일부에 동의했습니다. 웹 개발자에게 뉘앙스가 있는 다양한 브라우저와 호환되도록 최선을 다하라고 요구하는 대신 Firefox와 같은 비주류(사실 IE가 아닌) 브라우저가 IE와 더 잘 호환될 수 있기를 바랄 뿐입니다. 비용 측면에서 볼 때 IE는 이미 논쟁의 여지가 없는 승자이기 때문에 새 브라우저의 구현을 수정하면 한 번의 수정으로 모든 곳에서 이익을 얻을 수 있으며 웹 개발자가 다양한 브라우저와 호환되도록 허용하는 것은 단순히 IE의 지능과 노동력 낭비입니다. 일하는 사람들을 모욕합니다.
물론 많은 사람들은 어떤 브라우저든 표준을 따라야 한다고 말할 수도 있습니다. 그렇지 않으면 헛소리가 될 것입니다. 하지만 현실은 "큰 가게가 사람을 억압하고, 큰 사람이 가게를 억압하는 것"이다. 오늘날과 마찬가지로 우리의 대부분의 네트워크 응용 기술에는 표준이 없고 RFC만 있을 뿐입니다. 모두가 즐거운 삶을 살고 있지 않습니까? 너무 멀리 가지 않고 표준에 대한 십자군 전쟁이 되지 않도록 브라우저 문제에 대해 계속 이야기하겠습니다. 오랫동안 "나중에" 존재해 온 동생 브라우저인 Firefox의 경우, 표준을 아무리 완벽하게 지원하고 싶어도 진심으로 지원합니다. 하지만 약간의 노력을 들이고 현재 가장 인기 있는 다음 IE와 잘 호환되는 것은 어떨까요? 예를 들어 DOM 속성 이름을 다르게 사용해야 하고, IE와는 명확한 선을 그어야 합니다. 죄송하지만 IE 전용 런타임 스타일, 현재 스타일 등은 지원하지 않습니다. 이벤트도 와 달라야 합니다. 아무리 어색해도 당신 것입니다. 최종 효과는 Firefox에서 처음 실행할 때 IE의 일반 페이지 대부분이 저장되고 삭제된다는 것입니다.
Firefox 및 기타 IE가 아닌 핵심 브라우저라면 가능하다면? Microsoft와 같은 호환성 문제를 해결한다면 그들의 시장은 더 크고 더 유망해질 것입니다. Firefox는 두 가지 실행 모드를 제공할 수 있습니다. 하나는 W3C를 완전히 따르는 표준 모드이고, 다른 하나는 IE와 최대한 호환되는 IE 호환 모드입니다. 이때 사용자는 원활하게 전환하고 자유롭게 선택할 수 있습니다. 이제 빠르고 안전한 기능은 그야말로 압도적인 장점이 될 수 있습니다. 다양한 인기 기간에 따라 다양한 운영 모드를 기본 모드로 선택하면 표준 승격과 다른 IE 사용자를 "코칭"하는 것 사이의 모순을 효과적으로 해결할 수 있습니다.