ユーザーが HSTS 対応の Web ページにアクセスすると、ブラウザーはこれを検出し、今後そのサイトへの要求に HTTPS を使用するようにします。AS3 でページをリクエストし、返されたページが HSTS 対応かどうかを特定する方法はありますか (SWF で AS3 を直接介して、または ExternalInterface を使用して)。
1 に答える
ウィキペディアで定義されているように、HSTS (HTTP Strict Transport Security)は、
... "Strict-Transport-Security" という名前の HTTP 応答ヘッダー フィールドを介して、サーバーからユーザー エージェントに伝達されます。
ここで、この情報は HTTP 応答ヘッダーからのみ入手できることがわかります。Flash の場合、 HTTPStatusEventを使用して取得できる AIR とは異なり、HTTP 応答ヘッダーを取得することはできません。
Flash Player では、HTTPStatus イベントのタイプは httpStatus の 1 つだけです。AIR ランタイムでは、FileReference、URLLoader、または URLStream を登録して、responseURL および responseHeaders プロパティを含む httpResponseStatus をリッスンできます。これらのプロパティは、httpStatus イベントでは未定義です。
javascript (または必要に応じて ExternalInterface ) の場合、HTTP 応答ヘッダーを取得するには、クライアント側のクロスオリジン要求を有効にするCORS (クロスオリジンリソース共有) 対応サーバーでのみ取得できる AJAX を使用する必要があります。あなたはサーバーによってブロックされ、ブラウザはきれいな " No Access-Control-Allow-Origin ... " エラーを表示します。
結論 : HSTS が有効になっているかどうかにかかわらず、Flash も JavaScript (CORS が有効になっている場合もあります) も実際には取得できません。