WebSockets stato attuale su sicurezza e supporto browser

2

Ho trovato molte cose durante la ricerca, ma nulla che sembrava sia aggiornato e completo.

Nell'ultimo trimestre del 2010 ricordo di aver letto per me notizie molto tristi, dato che i WebSocket erano disabilitati nella maggior parte dei browser moderni (se non tutti? non ricordo) che lo supportavano di default a causa di problemi di sicurezza nel protocollo proxy utilizza il WSP. Mi chiedo quale sia lo stato corrente del problema e se ci sono piani noti dalla prossima versione di browser per avviare l'abilitazione WS per impostazione predefinita.

So che in Chrome 13b viene abilitato e non penso di averlo abilitato da solo, ma lo stesso non accade negli altri browser che uso.

Inoltre, quale bozza viene utilizzata nelle versioni correnti? Il prossimo mese darò una presentazione su HTML5 per un gruppo di sviluppatori e questo è l'argomento che ritengo di essere il meno aggiornato in futuro. Devo implementare il protocollo corrente almeno per essere sicuro di sapere di cosa sto parlando e di non avere problemi a rispondere alle domande:)

Come molti dettagli tecnici e specifici possibili saranno molto apprezzati.

    
posta Mamsaac 10.07.2011 - 05:47
fonte

2 risposte

4

Firefox 6, Chrome e Safari supportano i websocket e li hanno abilitati.

Firefox 4+ e Opera 11 supportano le web socket e le disattivano.

IE sta diffondendo FUD e si rifiuta di supportare i websocket.

Supporto per browser

Come si può vedere dalla tabella di supporto del browser ci sono molte versioni della specifica Websocket HTML5.

Versione76 e versione75 hanno molte implementazioni lato server dell'API websocket.

Ci sono meno implementazioni sul lato server 06/07.

L'unica astrazione server websocket realmente stabile sul posto che io conosca. (Ciò non implica la scrittura del proprio server websocket) è Socket.io

    
risposta data 10.07.2011 - 06:08
fonte
4

In realtà, i problemi di sicurezza non hanno davvero modificato l'elenco dei browser che supportano WebSockets. Mozilla e Opera hanno deciso di posticipare l'attivazione di WebSockets per impostazione predefinita (è ancora possibile abilitarla manualmente) a causa della preoccupazione ma non è mai stata attiva lì in primo luogo.

Le versioni correnti di Chrome, Safari e il browser iOS hanno WebSockets (Hixie-76) incluse e abilitate per impostazione predefinita. Nessuno di loro è stato disabilitato a causa dei problemi di sicurezza (che non sono in WebSocket stesso ma una preoccupazione teorica negli intermediari di memorizzazione nella cache).

Firefox probabilmente avrà WebSockets abilitati per impostazione predefinita nella versione 7. L'attuale build Aurora della versione 7 ha il protocollo HyBi-08 (le versioni HyBi del protocollo sono dove sono stati risolti i problemi di sicurezza).

Mi aspetto che Chrome (e quindi Safari) cambierà la versione HyBi del protocollo molto presto.

Microsoft ha un'implementazione WebSockets scaricabile che implementa una versione HyBi del protocollo. Non hanno dato una cronologia di quando questo sarà incluso di default in IE.

Puoi anche utilizzare il polyfill / fallback di Flash web-socket-js che consente a qualsiasi browser con Flash di utilizzare WebSockets. L'attuale versione di web-socket-js implementa Hixie-76 ma esiste un ramo che implementa HyBi-07.

La versione HyBi del protocollo è stata abbastanza stabile per le ultime versioni (principalmente solo modifiche testuali nel documento stesso del protocollo). La versione attuale è 09 ed è stata appena proposta per la pubblicazione da IESG / IETF. È probabile che ci sarà un'altra revisione (10) prima della pubblicazione effettiva.

L'API WebSocket non è cambiata in modo incompatibile all'indietro poiché è stata implementata per la prima volta in Chrome. Non è probabile che cambi in futuro in un modo incompatibile (il supporto binario sarà retrocompatibile).

Conclusione: l'API WebSocket è stabile e il protocollo sta per essere pubblicato da IETF. La maggior parte dei browser supporta o può utilizzare il polyfill web-socket-js. È ora di iniziare a utilizzare WebSockets.

    
risposta data 11.07.2011 - 00:26
fonte

Leggi altre domande sui tag