# Windows Internet Explorer 9

Windows Internet Explorer 9 è la nona versione del browser sviluppato da Microsoft per sistemi operativi Windows, da Windows Vista in poi.
È stato annunciato alla Professional Developer Conference 2009 (dal 17 al 19 novembre 2009) e ne è stata distribuita una prima versione pubblica, denominata Platform Preview, il 16 marzo 2010 in occasione di MIX 2010, la conferenza annuale Microsoft dedicata al mondo del web, dello sviluppo per Windows Phone e all'Interaction Design. All'inizio del ciclo di sviluppo Microsoft ha affermato che le aree di focalizzazione di questa release di Internet Explorer avrebbero riguardato il miglioramento delle performance del browser, un supporto stabile per i moderni standard come HTML 5 e CSS3, strumenti evoluti per garantire la privacy e la sicurezza degli utenti durante la navigazione, la semplificazione dell'interfaccia del browser e delle modalità di interazione con l'utente.
A partire da MIX10 Microsoft sono state rese disponibili per il download una serie di Platform Preview destinate al testing e alla validazione da parte della community degli sviluppatori web e degli esperti del settore. Parallelamente è iniziata una forte collaborazione con il W3C per: favorire la creazione di una piattaforma di test comune che consenta a produttori di browser web ed utenti di validare il funzionamento dei propri browser in base agli standard da tutti accettati; per collaborare insieme agli altri team di lavoro e agli altri esperti di mercato nella definizione e nella stabilizzazione degli standard web.
Per quanto riguarda le versioni dedicate non solo agli sviluppatori ma a tutti gli utenti, il 15 settembre 2010 Microsoft ha reso disponibile la Beta di Internet Explorer 9 per il download pubblico.
Il percorso verso la distribuzione finale del prodotto è proseguito poi il 10 febbraio 2011 con la distribuzione della release Candidate. Complessivamente la Beta e la Release Candidate di Internet Explorer 9 da sole sono state scaricate oltre 33 milioni di volte.
La versione finale di Internet Explorer 9 è stata distribuita il 14 marzo 2011 con un annuncio fatto dal team di prodotto che ha sottolineato l'importanza dei riscontri ricevuti durante lo sviluppo del browser appena distribuito.

## Le novità di Internet Explorer 9

La prima novità rispetto alle versioni precedenti di Internet Explorer è stata legata al processo di sviluppo del browser. A differenza del passato infatti, in cui la Beta era il primo momento in cui era possibile provare una nuova versione di Internet Explorer, Microsoft ha deciso di mettere subito a disposizione di sviluppatori, professionisti IT e appassionati di tecnologia le build di anteprima della nuova versione del Browser, tramite le Platform Preview. Questo ha consentito a chi sviluppa siti Internet di provare in anticipo la nuova versione del browser, e alla comunità tecnica di partecipare con il proprio feedback al processo di sviluppo (e di miglioramento) del browser..

### Interfaccia utente

La nuova interfaccia utente di Internet Explorer 9 è stata pensata per ridurre al minimo l'invasività del browser durante la navigazione e per far risaltare il contenuto offerto dal sito web che si sta visitando. Un'unica casella di testo consente di immettere le URL, oppure di cercare informazioni con il motore di ricerca predefinito, o di cercare all'interno della cronologia dei siti visitati o dei propri preferiti.
Come richiesto dagli utenti è stato implementato un download manager che consente di mettere in pausa i download in corso o di continuarli, e che ha integrate le funzionalità di sicurezza chiamate SmartScreen Application Reputation che consentono di rilevare eventuali download a rischio.
Utilizzando Internet Explorer 9 su Windows 7 è possibile fare il pinning dei siti Internet sulla barra delle applicazioni del sistema. In questo modo è possibile lanciare direttamente dalla barra di Windows il collegamento ad un sito preferito, e chi gestisce i siti web può implementare delle funzionalità ad hoc per facilitare l'interazione degli utenti con il proprio sito.

### Supporto agli standard

Il supporto ai moderni standard è stato uno dei punti chiave dello sviluppo di Internet Explorer 9 e ha riguardato:
* Supporto ad HTML 5 inclusi i Tag Semantici
* Supporto per tag e funzionalità HTML 5 ancora in corso di definizione (come WebSockets e IndexDB) tramite gli HTML5Labs
* Supporto CSS3
* Supporto migliorato per il Document Object Model (DOM) Level 2 e Level 3
* Supporto ad ECMAScript5 (ES5), l'ultima release dello standard ufficialmente supportata.
* Supporto per i profili colore ICC v2 e v4
* Supporto per ScalableVector Graphics (SVG) v1.1
Microsoft ha presentato inoltre al W3C oltre 7000 test case, con l'obiettivo di collaborare alla creazione di una piattaforma di test ufficiale che consenta di valutare in modo efficace l'implementazione degli standard da parte di tutti i browser web e favorire così l'interoperabilità.
| Versione Platform Preview | Punteggio Acid3 |
| Platform Preview 1 | 55/100 |
| Platform Preview 2 | 68/100 |
| Platform Preview 3 | 83/100 |
| Platform Preview 4 | 95/100 |
* ↑ I punteggi riportati sono relativi a una versione del test Acid3 precedente all'aggiornamento di settembre 2011.

### Velocità e prestazioni del Browser

Un'ulteriore area di focalizzazione del gruppo di lavoro di Internet Explorer 9 ha riguardato la velocità nella navigazione, il caricamento delle pagine e le prestazioni complessive del browser. L'approccio degli sviluppatori ha riguardato la riscrittura e l'aggiornamento di una serie di componenti base del browser, per sfruttare al meglio le potenzialità offerte dai moderni sistemi multicore e dalle moderne GPU - schede video.
È stato riscritto il motore JavaScript, e il nuovo motore Chakra consente di utilizzare più core di una CPU per velocizzare l'esecuzione del JavaScript e rendere più veloce la navigazione nei moderni siti Internet che implementano AJAX.
Mentre Internet Explorer 8 aveva bisogno di oltre 3700ms per completare il test (non ufficiale) WebKit SunSpider, Internet Explorer 9 lo completa in 214ms ed è risultato sulla stessa macchina più veloce degli altri browser: Firefox 3.6.13 (753ms), Safari 5.0.3 (310ms), Firefox 4.0 Beta 12 (247ms), Chrome 10 (248ms), Chrome 11 Developer (243ms), Opera 11 (240ms) (dati aggiornati al 6 aprile 2011).
Le performance del browser non riguardano solo l'esecuzione di codice JavaScript: per questo all'interno di Internet Explorer 9 sono stati migliorati la gestione dello stack di rete, le funzionalità di caching, la gestione dei proxy e del DNS per garantire performance ottimali.
Una parte importante del lavoro ha riguardato il supporto per l'accelerazione hardware tramite GPU del rendering della pagina web. La scheda video del computer viene utilizzata dal browser in modo attivo nelle diverse fasi del caricamento e del rendering delle pagine web: nella prima fase, quando ciascun componente della pagina viene renderizzato, nella fase di composizione della pagina e di allineamento dei differenti componenti nel layout della pagina stessa, durante la visualizzazione finale della pagina nella finestra del browser. Questo consente ad Internet Explorer 9 di ridurre il carico di lavoro sulla CPU del computer, di ridurre ulteriormente i tempi di rendering delle pagine rispetto ad altri browser che implementano solo parzialmente il supporto all'accelerazione hardware, di migliorare il consumo del computer e la durata delle batterie. Per ottenere questo risultato Internet Explorer 9 sfrutta il nuovo modello di driver implementato in Windows Vista e in Windows 7 e in particolare le funzionalità Direct2D, DirectWrite e Direct3D di DirectX.

### Sicurezza e Privacy

La sicurezza e la privacy sono un elemento fondamentale della navigazione Internet e per questo Internet Explorer 9 ha completato ed esteso le funzionalità della versione precedente.

#### Cross-Site Scripting (XSS) Filter

In Internet Explorer 9 è incluso e abilitato automaticamente un filtro XSS, che rileva e annulla eventuali attacchi di tipo Cross-site scripting in modo tale da garantire una maggiore sicurezza durante la navigazione. Nel caso in cui sia rilevato un attacco di tipo XSS, l'utente viene informato che nel sito che sta visitando sono stati disabilitati degli script malevoli.
L'obiettivo di un attacco di tipo XSS è quello di intercettare le credenziali che un utente inserisce in un sito legittimo, ad esempio quello della banca, per potersi sostituire a lui ed impersonare la sua identità.

#### SmartScreen Filter

Lo SmartScreen Filter è un componente importante di protezione, che secondo le statistiche consente di bloccare circa il 99% del social engineered malware.
Quando l'utente decide di abilitare lo SmartScreen Filter, viene attivato in Internet Explorer un sistema di analisi delle URL il cui obiettivo è garantire la sicurezza dell'utente evitando ad esempio che cada in un tentativo di phishing. Questo importante sistema di protezione utilizza sia un database locale, che viene aggiornato automaticamente tramite Windows Update, sia un servizio online. Quando si apre una nuova pagina web viene analizzata l'URL, prima localmente, per vedere se è presente nella lista locale dei domini sicuri o di quelli a rischio. In caso contrario vengono eseguite una serie di ulteriori analisi, che sfruttano dei database online di siti noti come siti di phishing o come siti a rischio, e delle analisi sulla tipologia di URL e sulle caratteristiche della pagina che si sta visitando.
Terminati i controlli, nel caso in cui non sia stata rilevata alcuna anomalia, la navigazione dell'utente procede regolarmente, e non viene attivata nessuna notifica. Se l'URL e il sito visitato hanno delle caratteristiche anomale, viene abilitata la navigazione verso quel sito ma l'utente riceve un messaggio di notifica che lo informa sul risultato dell'analisi fatta e dell'anomalia riscontrata. Se invece il sito è un sito noto di phishing o che distribuisce malware viene interrotta la navigazione all'interno di quel sito e l'utente riceve un messaggio di notifica che lo informa del grave rischio che sta correndo. L'utente ha comunque tra le opzioni la possibilità di continuare la navigazione, ma la barra degli indirizzi si colora di rosso e compare un messaggio che ricorda all'utente che la visita a quel sito può mettere a rischio la sicurezza delle sue informazioni.
In ambito aziendale un amministratore di sistema può utilizzare le Group Policy per decidere che il filtro SmartScreen sia sempre abilitato e che non sia possibile per gli utenti forzare la navigazione verso un sito riconosciuto come sito noto a rischio.

#### SmartScreen Application Reputation

Le funzionalità di SmartScreen Application Reputation di Internet Explorer 9 consentono all'utente di avere una sicurezza maggiore quando scarica file da Internet e in modo simile a quanto fatto dallo SmartScreen Filter, verificano l'URL di provenienza del file che si sta scaricando. Infatti, l'utente potrebbe trovarsi in un sito legittimo, non a rischio, che referenzia download provenienti da un sito a rischio.
Oltre all'analisi dell'URL di provenienza del file, un ulteriore livello di analisi verifica l'eventuale presenza di una firma digitale nel file che si sta scaricando, e se quel download è un download noto e già frequentemente scaricato da altri utenti, oppure se è un download poco noto e potenzialmente a rischio. Le informazioni raccolte servono per informare l'utente, senza però disturbarlo e senza interrompere la navigazione. Infatti non viene visualizzato nessun messaggio di verifica nel caso in cui stia effettuando il download di un file sicuro da un sito legittimo, mentre l'utente riceve un chiaro avviso nel caso in cui quel file che ha scaricato è un file potenzialmente dannoso o a rischio.

#### SmartScreen Malvertising Protection

Come un download malevolo può essere integrato e linkato da una pagina ospitata su di un sito non a rischio, così può avvenire con l'Advertising e la pubblicità. Infatti, è possibile creare dei banner pubblicitari costruiti ad hoc per sfruttare eventuali vulnerabilità del browser e veicolare malware nel computer di chi sta effettuando la navigazione. Le funzionalità di Malvertising Protection utilizzano un meccanismo di funzionamento simile a quelle già viste con lo SmartScreen Filter e SmartScreen Application Reputation e consentono di bloccare la navigazione su siti che caricano banner pubblicitari provenienti da siti a rischio o che veicolano malware nei computer degli utenti.

#### ActiveX Filtering

I controlli ActiveX sono un componente importante che consente al browser di guadagnare funzionalità aggiuntive, come la possibilità di riprodurre contenuto Flash, Silverlight, QuickTime o di eseguire delle nuove funzionalità. Purtroppo però a volte dei controlli ActiveX non aggiornati o utilizzati su siti a rischio possono mettere a rischio la sicurezza della navigazione e dell'utente. Per questo Internet Explorer 9 ha portato con sé delle funzionalità pensate per ridurre il rischio che alcuni controlli ActiveX possono portare, senza però penalizzare la navigazione dell'utente.
In particolare la funzionalità di ActiveX Filtering consente di disabilitare completamente tutti i controlli ActiveX, che l'utente può decidere di riabilitare sito per sito. Quando l'utente ha abilitato l'ActiveX Filtering, e visita un sito che utilizza un controllo ActiveX, viene notificato nella barra degli indirizzi e può decidere in modo consapevole di abilitare i controlli ActiveX necessari per sfruttare al meglio quello che quel sito mette a disposizione.
Anche in questo caso, un amministratore di sistema può utilizzare le Group Policy per decidere il comportamento dei controlli ActiveX, l'abilitazione selettiva di alcuni controlli ActiveX solo su alcuni siti o la loro completa disabilitazione.

#### Tracking Protection e Do Not Track

Gli utenti sempre di più vogliono che la loro privacy sia garantita durante la navigazione. D'altra parte, molti siti utilizzano fornitori comuni, ad esempio per la pubblicità o il tracciamento delle visite. Queste terze parti possono potenzialmente tracciare la navigazione degli utenti su ciascuno dei siti che utilizzano i loro componenti.
Per consentire agli utenti di scegliere in modo consapevole quali informazioni condividere sulla propria navigazione e in che modo essere tracciati, Internet Explorer 9 implementa due differenti funzionalità: la Tracking Protection e il Do Not Track.
In particolare le funzionalità di Tracking Protection implementate da Microsoft in Internet Explorer 9 consentono all'utente di importare nel browser delle liste prodotte da Terze Parti. Queste liste sono curate da enti che si interessando della protezione della privacy degli utenti, e forniscono al browser informazioni su quali componenti di terze parti caricare o non caricare durante la navigazione, garantendo quindi la privacy degli utenti.
Gli utenti possono anche definire manualmente delle liste di domini bloccati o autorizzati a tracciare la navigazione dell'utente su siti differenti, avendo in questo modo un controllo granulare della propria privacy-

## Versioni

Versione di test
Aggiornamento di sicurezza
| Versione | Versione estesa | Pubblicato il | Nuove funzionalità | Supporta |
| 9.0 beta | 9.0.7930.16406 | 15-9-2010 | Nuova interfaccia utente; gestore di download; possibilità di aggiungere i siti Web alla barra delle applicazioni con funzionalità Jump List. Include Platform Preview 5. | |
| 9.0 RC | 9.0.8080.16413 | 10-2-2011 | Migliorate le prestazioni; "Filtro InPrivate" rinominato in "Protezione da monitoraggio"; filtro ActiveX; funzione "Incolla e naviga"; UI rifinita; supporto ad altri standard Web; aggiunta la possibilità di aggiungere una nuova riga di tabella; aggiunto il supporto alla Geolocation API di W3C. Include Platform Preview 8. | |
| 9.0 | 9.0.8112.16421 | 14-3-2011 | Migliorate le prestazioni; migliorata la protezione da monitoraggio; aggiunta la possibilità di fissare più destinazioni per pagina. | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.1 | 9.0.8112.16430 | 13-6-2011 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.2 | 9.0.8112.16434 | 8-8-2011 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.3 | 9.0.8112.16437 | 7-10-2011 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.4 | 9.0.8112.16440 | 12-12-2011 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.5 | 9.0.8112.16441 | 10-2-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.6 | 9.0.8112.16443 | 9-4-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.7 | 9.0.8112.16446 | 8-6-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.8 | 9.0.8112.16447 | 6-7-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.9 | 9.0.8112.16448 | 10-8-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.10 | 9.0.8112.16450 | 20-9-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.11 | 9.0.8112.16455 | 9-11-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
| 9.0.12 | 9.0.8112.16457 | 7-12-2012 | | Windows Vista Platform Update, Server 2008 Platform Update, 7, Server 2008 R2 |
* ↑ La versione estesa è tratta dal file "ieframe.dll".
La tabella non include le versioni "Platform Preview".

## User Agent

In seguito ai miglioramenti tecnici, il team di sviluppo di Internet Explorer ha deciso di cambiare lo User agent. La stringa Mozilla/4.0 è stata cambiata con Mozilla/5.0 come già avvenuto negli altri browser per indicare che IE9 è più conforme agli standard delle versioni precedenti. La stringa Trident/4.0 è stata similmente sostituita da Trident/5.0. A differenza delle versioni precedenti, IE9 non invia nessun identificatore .NET o altre stringhe ai server come parte dello User agent, a eccezione di quando si utilizza la Modalità Compatibilità.
| Sistema Operativo | Modalità compatibilità | User agent string |
| Windows Vista | Sì | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0) |
| Windows Vista | No | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0) |
| Windows 7 | Sì | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0) |
| Windows 7 | No | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) |