LSP を開発していますが、正確な URL を知る必要があります。
たとえば、ユーザーが Firefox を使用してページを閲覧しているとします。HTTP か HTTPS かに関係なく、ページの完全な URL を取得したいと考えています。これどうやってするの?
Host
HTTP リクエスト ヘッダー (リクエスト ラインと)を取得することでアドレスを取得できます。ただし、プロトコル (http、https) はこの方法では把握できません。
LSP を開発していますが、正確な URL を知る必要があります。
たとえば、ユーザーが Firefox を使用してページを閲覧しているとします。HTTP か HTTPS かに関係なく、ページの完全な URL を取得したいと考えています。これどうやってするの?
Host
HTTP リクエスト ヘッダー (リクエスト ラインと)を取得することでアドレスを取得できます。ただし、プロトコル (http、https) はこの方法では把握できません。
LSP は、TCP/IP プロトコル スタックに存在します。SSL の 443 などのポート番号が目的に対して信頼できない場合は、TCP ペイロードを調べて、パケットが SSL を使用しているか TLS を使用しているかを判断する必要があります。状態を保持する必要があり、SSL/TLS ハンドシェイク メッセージが表示されれば、それが HTTPS 接続の試みであることがわかります。
MSDNの詳細に、ハンドシェイク SSL/TLSの非常に基本的な説明があります。