ちょうど1年前の2009年12月9日に、Google Chromeの開発者は、Chromeの将来のバージョンで
Webソケットサポートの導入を
発表することで大衆を興奮させました。  Web Socketsとは何か、またそれが提供するものについては、ほぼ1年にわたる
ハブに関する投稿を参照してください。 
      
        
        
        
      
    
      
        
        
        
      
      Webソケットは本当においしいです。 
      
        
        
        
      
    
      
        
        
        
      
      Web標準の観点から見ると、Web SocketsはWebApps WGでのさらなる開発のために2009年春にHTML5仕様から削除された
独立した仕様です。 ドキュメントは現在、作業中ドラフト状態です。 
      
        
        
        
      
    
      
        
        
        
      
      Webソケットの興味深い機能は、ブラウザの単なるAPIではないことです。Webソケットを機能させるメカニズムは、適切なプロトコル
-IETFの 一部として開発された WebSocketプロトコルに関連付けられており、サーバーからの適切なサポートが必要です。 現在のドラフト改訂は03(10月17日)であり、それ以前には76の改訂がありました。 新しいリビジョン
が 古いバージョン
と 互換性 が ない ことが判明した夏の初めに、後者について不快な話がありました。 
      
        
        
        
      
    
      
        
        
        
      
      WebソケットのサポートはChromeとSafariで発表されましたが、私が理解しているように、Opera 10.70-11とFirefox 4bの予備バージョンで利用可能であったはずです。  (ただし、IE9がこのリストに含まれていないことは明らかです。正義のために、開発者は、数か月後に後方互換性をもたらさない安定した確立されたものを主に導入していると繰り返し述べています。) 
      
        
        
        
      
    
      
        
        
        
      
     プロトコルは、標準と同様、まだ最終段階にあります。 また、JavaScriptでWebアプリケーションのマークアップとAPIを混同することなく、個別にワークアウトして独立したピースを安定化できるため、HTML5から削除したことは実際には良いことです。 
      
        
        
        
      
    
      
        
        
        
      
     どうしたの? 
      
        
        
        
      
      11月下旬、Adam Barthは使用されたプロトコルの信頼性に関する調査結果を
発表しました 。 プロトコル自体に重大な脆弱性が存在することが判明しました。 
      
        
        
        
      
    
      
        
        
        
      
     アップグレードベースのハンドシェイクは、透過(またはインターセプト)プロキシを含むネットワーク構成での攻撃に対して脆弱です。 
      
        
        
        
      
    
      
        
        
        
      
      100ドルで、アップグレードベースのハンドシェイクを使用して、8ユーザーのキャッシュをポイズニングできることがわかりました。 攻撃者がこの方法でプロキシのキャッシュをポイズニングできる場合、攻撃者はキャッシュの/すべて/ユーザーを悪用し、潜在的に危険な結果をもたらす可能性があります。  たとえば、攻撃者は http://www.google-analytics.com/ga.jsの プロキシのキャッシュエントリを ポイズニング し、上位10,000個のWebサイトの約57%にJavaScriptを挿入できます 。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     
      
        
        
        
      
    
      
        
        
        
      
      (ロシア語では、透過的な(通常の)プロキシを使用する場合、送信データのキャッシュを置き換えて、実際のデータの代わりにユーザーが攻撃者からデータのバージョンを受け取ることができることを意味します。) 
      
        
        
        
      
    
      
        
        
        
      
     詳細については、 
http://www.adambarth.com/experimental/websocket.pdfをご覧ください。 
      
        
        
        
      
    
      
        
        
        
      
     明らかに、プロトコルは最終決定され、メーリングリストに載って、かなり白熱した議論を見ることができます。 
      
        
        
        
      
    
      
        
        
        
      
      FirefoxとOperaの開発者にとって、 
Webソケットのサポートは、ブラウザで将来の問題が修正されるまで終了することを発表するため、オープンな問題は非常に深刻であることが判明しました。  Firefoxでは、バージョンFF4b8からサポート
が終了します。  Operaからのコメント
はこちらをご覧ください 。 
      
        
        
        
      
    
      
        
        
        
      
     これは開発者にとって何を意味しますか? 
      
        
        
        
      
     現時点で、プロトコルの問題を解決する前に、これは新しいバージョンの後方非互換性です。 つまり、ブラウザーの更新のリリースにより、WebSocketの現在のソリューションは機能しなくなります。 キャッチは、開発中の標準と対応するプロトコルはドラフト形式にすぎませんが、ブラウザーでの実装とサポートの観点からは、実験的であるとは指定されておらず、変更される可能性が最も高いと同時に積極的に推進されていることです。 
      
        
        
        
      
    
      
        
        
        
      
     ただし、Webソケットを使用している場合は、機能サポートチェックを実行し、window.WebSocketプロパティが欠落している場合にブランチが存在することを望みます。 
      
        
        
        
      
    
      
        
        
        
      
     これはブラウザの問題ではなく、使用されているプロトコルであることを強調することが重要です。 ところで、この脆弱性はJavaとFlashにも影響するため、OracleとAdobeからの反応を待っています。 
      
        
        
        
      
    
      
        
        
        
      
      ps今日のために-ブログGoogleとFirefoxからの引用に関する
短いビデオ 。