Internet Explorer (читается «Интернет Эксплорер», сокращённо MSIE или IE; /aɪ iː/) — интернет-браузер, разрабатывавшийся корпорацией Microsoft с 1995 по 2016 год. Всего было выпущено 11 версий браузера, причём, начиная с третьей, Internet Explorer стал поставляться вместе с операционными системами семейства Windows вплоть до Windows 10. Каждая новая версия браузера после 1996 года (кроме девятой) выходила вместе с новой версией Windows. Начиная с Windows 10, разработка браузера была прекращена, а ему на смену пришёл Microsoft Edge. Поддержка же самого Internet Explorer в Windows 10 была прекращена 15 июня 2022 года, а с 14 февраля 2023 года все ссылки в Internet Explorer стали по умолчанию перенаправлять пользователей в Microsoft Edge[1][2][3][4]. Окончательно же поддержка браузера в лице его одиннадцатой версии прекратится 13 января 2032 года вместе с окончанием поддержки Windows 10 IoT Enterprise LTSC 2021[5].
Согласно разным методам подсчёта, на январь 2017 года доля Internet Explorer среди пользователей варьировала между 24,64 % и 58,15 %[6].
Со времени выхода первого релиза Microsoft добавила ряд функций и технологий. Среди них — отображение таблиц HTML (в Internet Explorer 1.5); интерфейс программирования приложений XMLHttpRequest (в Internet Explorer 5), который помогает создавать динамические сайты; и интернационализованные доменные имена (в Internet Explorer 7), что позволяет давать сайтам адреса символами не только латиницы.
Последний стабильный релиз браузера, Internet Explorer 11, состоялся 8 апреля 2014 года. Его пользовательский интерфейс был адаптирован таким образом, чтобы одинаково подходить в качестве программы для настольного компьютера и приложения для Windows 8.
Проект по разработке Internet Explorer был основан в 1994 году Томасом Риардоном. Согласно данным обзора Массачусетского технологического института в 2003 году,[7] он использовал исходный код программы Mosaic разработчика Spyglass, Inc., который формально связан с браузером NCSA Mosaic[8][9].
Первая версия Internet Explorer, Microsoft Internet Explorer (позже названа Internet Explorer 1), вышла 16 августа 1995 года и представляла собой переработанную версию браузера Spyglass Mosaic, лицензия на который была выкуплена Microsoft[8][9]. Она шла в комплекте с Microsoft Plus! для Windows 95 и OEM-релиза для Windows 95[10]. Через несколько месяцев был выпущен Internet Explorer 1.5 для Windows NT, который поддерживал функцию отображения таблиц HTML на веб-страницах.
Ряд инноваций, предложенных Internet Explorer, стали впоследствии использоваться другими браузерами. Среди них — элемент HTML [[Фрейм (HTML)|Ошибка?: некорректно задана дата установки]], который позволяет встраивать одни HTML-документы в другие (был добавлен в Internet Explorer 3), значок для избранного (favicon), который появился в Internet Explorer 4, и свойство для динамического обновления содержимого элементов innerHTML в Internet Explorer 4[11][12].
Для Internet Explorer 5 был разработан XMLHttpRequest, который позволил осуществлять HTTP-запросы к серверу без перезагрузки страницы. В этой версии также появился способ захвата и перетаскивания элементов (drag-and-drop), который почти без изменений был стандартизирован в HTML5 и теперь поддерживается почти всеми веб-браузерами. Аналогично был адаптирован атрибут contentEditable, который был добавлен в версии Internet Explorer 5.5 и позволял редактировать часть страницы прямо в браузере, а также Clipboard Access с IE6, дающий браузеру доступ к буферу обмена в определённых ситуациях[13].
Internet Explorer 6 был первым браузером, интегрировавшим в себя платформу P3P, представляющую собой средство обеспечения конфиденциальности данных пользователя[14].
Internet Explorer 7, в свою очередь, включал новые функции, призванные обеспечить безопасность пользователя и оградить его конфиденциальные данные от вирусов и сетевых атак[15].
Windows Internet Explorer 8 (IE8) вышел 19 марта 2009 года. Первая бета-версия (Beta 1) была представлена общественности 5 марта 2008 года, а вторая (Beta 2) вышла 27 августа 2008 года[17]. Версию поддерживают второй и третий пакеты обновлений для Windows XP, второй пакет обновлений Windows Server 2003, Windows Vista, Windows 7 и Windows Server 2008 на 32 — и 64-битной архитектуре[18]. Microsoft назвала в качестве главных приоритетов в разработке новой версии безопасность, простоту в использовании, и усовершенствование в поддержке RSS, CSS, и Ajax IE8[19][20].
В этой версии было предусмотрено более строгое соблюдение веб-стандартов, в том числе приведение версии в полное соответствие с каскадными таблицами стилей (CSS) 2.1[21]. Все эти изменения позволили Internet Explorer 8 пройти тест Acid2[22] . В IE8 была усовершенствована поддержка JavaScript, повышена производительность[21], добавлен анонимный режим и фильтр SmartScreen[23].
В начале 2010 года власти Германии, Франции и Австралии рекомендовали своим гражданам отказаться от использования Internet Explorer, ссылаясь на обнаруженные серьёзные изъяны в безопасности[24].
Разработка Windows Internet Explorer 9 началась почти сразу же после выхода Internet Explorer 8 и версия была выпущена 14 марта 2011 года[25]. Microsoft впервые объявила о начале разработки IE9 на конференции PDC в 2009 году, где обратила основное внимание на преимущества аппаратного ускорения в DirectX для повышения производительности веб-приложений.
Internet Explorer 9 стал первым браузером, в котором использовалось аппаратное ускорение отображения графики благодаря использованию интерфейса программирования приложений Direct2D.
Одной из инноваций этой версии стала возможность закреплять избранные веб-сайты на панели задач, таким образом ускоряя доступ к ним без необходимости предварительной загрузки браузера.
Для того, чтобы запустить Windows Internet Explorer 9 на Windows Vista, нужны обновления KB971512 и KB2117917.
Internet Explorer 9 сначала получил оценку 95/100 на тесте Acid3, но после обновления в сентябре 2011 года его балл составил 100/100[30].
В Windows 8 браузер разделён на две версии: первая версия браузера, созданная с нуля для управления на сенсорных устройствах — в интерфейсе Modern UI без поддержки плагинов, вторая — традиционное приложение рабочего стола, в которой сохранена возможность расширения за счёт плагинов.
В этой версии браузера была усовершенствована поддержка JavaScript, CSS3 и HTML5 и аппаратного ускорения. Добавлена поддержка WebSockets. Разработка макетов сайтов была упрощена за счёт использования Flexbox, сетки, анимации и переходов. Функция перетаскивания (drag-and-drop), формы и FileAPI позволяют добиться сходства веб-приложений с системными приложениями.
В стандартном интерфейсе Windows 8 реализована функция общего доступа, которая позволяет управлять фрагментом с помощью различных приложений прямо в браузере.
Для повышения уровня защиты от интернет-угроз задействована технология SmartScreen, которая использует службы репутации URL-адресов и приложений[32].
Internet Explorer 11 вышел в обновлении Windows 8.1, которое было представлено 17 октября 2013 года. На данный момент Internet Explorer 11 доступен для Windows 8.1, Windows 8.1 с обновлением, Windows 7 и Windows Phone 8.1. Браузер поддерживает синхронизацию открытых вкладок, настроек, паролей и избранного при использовании учётной записи Microsoft.
Этот релиз включил в себя улучшенное масштабирование для экранов с большим расширением,[33] предварительную загрузку HTML5[34], перемещение элементов мышью, аппаратно ускоренное декодирование изображений формата JPEG[35], и полноэкранный режим HTML5[36]. Internet Explorer 11 является первой версией, поддерживающей WebGL555657 и протокол SPDY (начиная с версии 3)[37].
Microsoft заявила, что Internet Explorer 11 при прохождении теста для измерения исполнительности JavaScript SunSpider является самым быстрым браузером для Windows по состоянию на 15 октября 2013 года[38].
Internet Explorer 11 включил себя специальные функции для работы на мобильных устройствах. Среди них выполнение поиска из адресной строки[39], режим чтения, который позволяет фокусироваться только на основном контенте веб-страницы, большой размер вкладок для удобства переключения между ними на сенсорных устройствах, возможность закрепления любимых сайтов на начальном экране[39] и одновременной работы с приложениями и браузером.
Для обеспечения совместимости с предыдущими веб-приложениями в Internet Explorer 11 для Windows 8.1 и Windows 7 встроен Режим Предприятия (Enterprise Mode).
IE11 имеет интерфейс, который автоматически адаптируется под тип устройства — например, на планшете на Windows 8 он обеспечит лучшие возможности для сенсорного управления (вкладки по размеру пальца, пролистывание и т. д.), в то время как для ноутбука будет поддерживать управление с помощью мыши и клавиатуры.
Internet Explorer 11 — последний браузер в семействе Internet Explorer. Начиная с Windows 10, ему пришёл на замену новый браузер Microsoft Edge.
Начиная с 15 июня 2022 года, корпорация Microsoft прекратила поддержку браузера Internet Explorer[40]. Несмотря на это, 49 % японских компаний всё ещё используют Internet Explorer[41].
Internet Explorer был разработан для просмотра разных типов веб-страниц и поддержки ряда функций операционной системы, включая обновления Windows. Internet Explorer, основанный на браузерном движке Trident, поддерживает ряд установленных и развивающихся стандартов, таких, как HTML5, CSS3, SVG и др.[46]
Разработчики Internet Explorer предложили ряд собственных расширений для разных стандартов, включая HTML, CSS и DOM. В результате этого многие веб-страницы отображаются некорректно в веб-браузерах, которые не работают с этими стандартами. Это создало потребность в создании режима совместимости, который бы позволил отображать элементы, предназначенные для Internet Explorer в других браузерах.
В Internet Explorer был добавлен ряд расширений для DOM, которые были внедрены другими браузерами. Они включают свойство innerHTML, которое устанавливает или получает всю разметку и содержание внутри данного элемента; объект XMLHttpRequest, который позволяет получать данные с сервера в фоновом режиме и совершать AJAX-запросы; параметр designMode для contentDocument объекта, который расширяет возможности редактирования HTML-контента[47].
Microsoft предложила несколько других функций на рассмотрение W3C для будущей стандартизации. Среди них свойство CSS 'behaviour', которое связывает поведение элементов HTML с поведением JScript; профиль HTML+TIME, поддерживающий синхронизацию медиа для документов HTML, и формат файлов языка векторной графики VML. Но все они были отклонены в первоначальной форме. VML был объединён с PGML, что привело к созданию утверждённого W3C формата SVG[48].
Для использования приложений, написанных на JavaScript, на устройствах с разным типом управления, Microsoft предложила внедрение pointer-событий (MSPointerDown, MSPointerMove и т. д.), которые призваны одинаково работать на всех устройствах. Объект pointer-события предоставляет дополнительные свойства, которые помогают определить тип взаимодействия пользователя с приложением (мышь, прикосновение, стилус), геометрию области сенсорного контакта пользователя с устройством, давление и наклон пера. При желании разработчик может написать уникальный код для каждого устройства ввода. Идея была принята W3C, в результате чего был разработан стандарт Pointer events.
Internet Explorer кэширует данные о посещённых страницах в папке Temporary Internet Files, чтобы предоставить более быстрый доступ (или офлайн доступ) к ранее посещённым веб-страницам. Контент индексируется в файле базы данных Index.dat. Существует множество файлов Index.dat, которые индексируют разные типы контента — посещённый контент, новостные ленты, посещённые URL и так далее[49].
До выхода версии IE7 очистка кэша вычищала индексирование, но файлы не удалялись надёжно. Начиная с IE7 после очистки кэша файлы также безопасно удаляются.
Internet Explorer полностью настраивается в соответствии с групповой политикой. Администраторы домена Windows NT или локального компьютера могут изменять настройки, которые влияют на пользовательский интерфейс, а также на такие функции безопасности, как загрузка файлов, конфигурация зоны, управление элементами ActiveX и др.
Средства разработчика F12 являют собой набор средств, которые дают возможность отладить, протестировать и ускорить загрузку веб-страниц. Кроме того, они могут быть использоваться при настройке макета CSS или поиске причин утечки памяти. Инструменты F12 позволяют увидеть, как браузер интерпретирует веб-страницы на уровне кода[50].
С помощью вкладки «Отклик пользовательского интерфейса» в форме графика отображаются все активности, происходящие во время загрузки страницы. Из графика можно распознать периоды низкой активности при загрузке и оптимизировать сайты. Способами оптимизации являются поочерёдная загрузка CSS, а потом JavaScript, сжатие файлов с помощью Gzip, использование встроенных шрифтов, сжатие графики и др[51].
Новые инструменты F12 в Internet Explorer 11 включают:
Средство отладки UI и диагностики использования памяти;
Live DOM Explorer и CSS inspection, который обновляет информацию одновременно со страницей, давая возможность оценить влияние динамического контента на разметку и стили;
JavaScript debugging — инструмент, не требующий обновления страницы.
Режим Предприятия (Enterprise Mode) — это инструмент, добавленный в Internet Explorer 11, который позволяет компаниям устанавливать последнюю версию браузера Microsoft, не отказываясь от веб-приложений, разработанных под предыдущие версии IE. В процессе разработки изучались проблемы совместимости. В результате основное внимание разработчиков было сконцентрировано на следующих задачах:
Различия в юзер-агенте. IE11 корректно взаимодействует с сайтами и веб-приложениями, использующими предыдущие типы и версии браузера.
ActiveX и другие элементы управления. Режим Предприятия отвечает на запросы о версии браузера аналогично IE8.
Устаревшие функции браузера. Можно задействовать устаревшие функции браузера в IE11, в частности, CSS Expressions для динамического размещения объектов на странице.
Предварительный рендеринг и кэширование. Технология рендеринга и кэширования отключается, поскольку она может стать причиной некорректного отображения страниц при работе с устаревшими веб-сервисами.
Отображение страницы. IE11, как и IE8, устраняет проблемы совместимости и распространённые проблемы сайтов, разработанных для более старых версий браузера (например, Internet Explorer 7) с помощью эмуляции[52].
Режим Предприятия в Internet Explorer 11 позволяет запускать веб-приложения быстрее, чем IE8, благодаря аппаратному ускорению и решению проблем, связанных с запуском старых бинарных файлов в Internet Explorer 8.
По умолчанию Режим Предприятия в Internet Explorer 11 отключён. После настройки перечня устаревших веб-приложений и сайтов он будет автоматически включаться при обращении к ним.
Internet Explorer использует компонентную архитектуру на технологическом стандарте Component Object Model. Она состоит из нескольких главных компонентов, каждый из которых помещён в отдельную динамически подключаемую библиотеку (DLL) и отображает набор инструментов интерфейса программирования приложений COM с хостингом в главном исполнимом модуле Internet Explorer, iexplore.exe[53]:
WinInet.dll является блоком управления протоколами HTTP, HTTPS и FTP.
URLMon.dll отвечает за управление и загрузку веб-контента типа MIME, и обеспечивает потоковую безопасность для WinInet.dll и работы других протоколов.
MSHTML.dll содержит браузерный движок Trident, который отвечает за отображение страниц на экране и управление веб-страницами на основе DOM.
IEFrame.dll содержит пользовательский интерфейс и окно IE, начиная с версии Internet Explorer 7.
ShDocVw.dll обеспечивает навигацию, локальное кэширование и функцию истории для браузера.
BrowseUI.dll отвечает за отображение таких элементов интерфейса пользователя, как меню и панель инструментов[54].
Internet Explorer не имеет собственного сценарного языка. Вместо этого MSHTML.dll открывает интерфейс программирования приложений, который позволяет программисту разработать скриптовую среду, которая подключена и предоставляет доступ к дереву DOM.
По умолчанию пользователю предоставляются только модули JScript и VBScript.
Windows-версия браузера основана на движке Trident, который поддерживает стандарты HTML 4.01, HTML 5, CSS Level 1, CSS Level 2, CSS Level 3, XML 1.0 и DOM Level 1 и частично DOM Level 2, также имеет возможность подключения расширений, что реализуется через объектную модель компонентов (COM).
Политика распространения браузера компанией Майкрософт подвергается критике из-за использования компанией своего монопольного положения на рынке десктопныхОС. Этот вопрос периодически поднимается в судебных разбирательствах по всему миру[55], самые известные из которых — антимонопольное дело «Соединённые Штаты против Майкрософт». Вследствие претензий, предъявленных Еврокомиссией в 2009 году, в европейские версии ОС Windows была включена возможность выбора браузера по умолчанию[56][57][58].
Internet Explorer подвергался критике за недостаточную поддержку веб-стандартов, устанавливаемых W3C. Это приводило к некорректному отображению элементов по стандарту W3C и могло создавать проблемы веб-мастерам. В частности, браузер не имел встроенной поддержки SVG, имел недостатки в обработке CSS[59][60][61]. Но начиная с девятой версии браузер начал полностью поддерживать CSS3 и SVG (а также ряд других общепринятых стандартов)[62]. В четвёртой предварительной версии IE9 тест Acid3 проходится на 95 из 100 баллов (Internet Explorer 8 набирал всего 20 баллов из возможных 100). При этом, по заявлению Microsoft, прохождение теста не является первостепенной задачей для браузера[63].
Один из разработчиков Mozilla выдвинул предположение, что Internet Explorer 9 накручивает результаты теста SunSpider[64][65], в частности, «подгоняет» работу механизма Dead Code Elimination для прохождения теста: при минимальном его изменении (например, при добавлении пустого return или замене цикла for на while) производительность падает до 20 раз. В таких браузерах, как Opera, Firefox или Google Chrome, производительность при аналогичных операциях не изменится.
↑Chris Wilson. «Windows Internet Explorer 8 Expert Zone Chat (20 March 2008)Архивная копия от 20 апреля 2008 на Wayback Machine». «The ACID3 test is a collection of interesting tests, spread across a large set of standards. Some of those standards will see improvements in IE8 — in fact, IE8 already improves on IE7’s score — but we are focused on the most important features and standards to make web developers' lives easier. The ACID3 test does not map directly to that goal».