10

注:重複しているように見える既存の質問 (以下にリンク) がありますが、それらのほとんどは数年前のものです。どちらの方法でも物事を証明する明確で決定的な答えを得たいと思います。

Web サイト全体を HTTPS で実行することは、ベスト プラクティスとパフォーマンス/SEO の観点から、今日の問題ではありませんか?

更新: ソースに関する詳細情報を探しています。SEOへの影響について。バウンティが追加されました

コンテキスト: 個人情報を収集するフォームを含むライトボックスを生成するボタンをいくつか導入したかったときに、会話が持ち上がりました (ユーザーのログインを許可するものもあります)。これは、サイトの大部分を占めるページにあります。フォームは情報を安全に収集して送信する必要があり、フォームは独自のページにないため、これを可能にする最も簡単な方法は、ページ自体を HTTPS にすることでした。

私が望むのは、以下にリストされているような、長時間実行されている人気のあるサイトを HTTPS に切り替える際の問題をカバーする回答です。

  1. すべてのリクエストでハンドシェイクがネゴシエートされますか?
  2. すべての資産を暗号化する必要がありますか?
  3. ブラウザーは、アセットを含む HTTPS コンテンツをキャッシュしませんか?
  4. ダウンストリーム透過プロキシがアセット (css、js など) を含む HTTPS コンテンツをキャッシュしないことはまだ問題ですか?
  5. すべての外部アセット (トラッキング ピクセル、ビデオなど) に HTTPS バージョンが必要ですか?
  6. HTTPS と gzip は一緒に使うとうまくいかないのでしょうか?
  7. バックリンクとオーガニック リンクは常に HTTP になるため、常に 301'ing になります。これは SEO やパフォーマンスに影響しますか? このサイト全体の変更による SEO へのその他の影響はありますか?

一部の大企業では、常に HTTPS を実行する動きがあります。Always on SSLを参照してください。この設定は先例/ベスト プラクティスですか?

重複/関連する質問:
サイト全体を強制的に HTTPS にするのは良い方法ですか、それとも悪い方法ですか?
サイト全体で SSLを使用 サイト
全体またはその一部で SSL を使用しますか?

4

2 に答える 2

12

参考文献を使って一度にすべてのポイントに答えることができるかどうかはわかりませんが、ここに行きます. 必要に応じて編集してください:

リクエストごとにハンドシェイクをネゴシエートする必要がありますか?

いいえ、SSL 接続は通常、連続する多数のリクエストに対して再利用されます。かつて SSL に関連していたオーバーヘッドは、最近ではほとんどなくなりました。コンピュータも高速化しています。

すべての資産を暗号化する必要がありますか?

はい、そうしないと、ブラウザーはサイト全体を安全と見なしません。

ブラウザーは、アセットを含む HTTPS コンテンツをキャッシュしませんか?

私はそうは思いません。キャッシングは問題なく機能するはずです。

ダウンストリーム透過プロキシがアセット (css、js など) を含む HTTPS コンテンツをキャッシュしないことはまだ問題ですか?

プロキシが SSL 暗号化された接続/アセットをキャッシュするには、プロキシが接続を復号化する必要があります。これは、SSL の利点を大幅に無効にします。そうです、プロキシはコンテンツをキャッシュしません。

プロキシは、クライアントとサーバーの両方に対する SSL エンドポイントになる可能性があるため、それぞれに個別の SSL セッションがあり、送信されているプレーンテキストを確認できます。プロキシとサーバーの間に 1 つの SSL 接続があり、プロキシとクライアントは、プロキシの証明書で署名された別の SSL 接続を持ちます。これには、クライアントがプロキシの証明書を信頼し、プロキシがサーバー証明書を信頼する必要があります。これは、企業環境でこのように設定される場合があります。

すべての外部アセット (トラッキング ピクセル、ビデオなど) に HTTPS バージョンが必要ですか?

はい。

HTTPS と gzip は一緒に使うとうまくいかないのでしょうか?

プロトコルのレベルが異なるため、問題ないはずです。gzip は、SSL レイヤーが TCP ストリームに配置された後にネゴシエートされます。サーバーとクライアントが適切に動作する場合、問題はありません。

バックリンクとオーガニック リンクは常に HTTP になるため、常に 301'ing になります。これは SEO に影響しますか?

バックリンクが常に HTTP になるのはなぜですか? それは必ずしも与え​​られたものではありません。それがSEOにどのように影響するかは、問題のSEによって異なります。インテリジェントな SE は、ユーザーが単にプロトコルを切り替えているだけであることを認識し、ユーザーを罰することはありません。

于 2012-07-25T08:16:49.347 に答える
4

1- リクエストごとにハンドシェイクがネゴシエートされますか?

ここには 2 つの問題があります。

  • ほとんどのブラウザーは、プレーンな HTTP を使用する場合でも、同じサイトへの要求間で新しい接続を再確立する必要はありません。HTTP 接続は維持できるので、HTTP 要求/応答ごとに接続を閉じる必要はありません。単一の接続を複数の要求に再利用できます。
  • 並列または後続の SSL/TLS 接続が必要な場合、複数のハンドシェイクを実行することを回避することもできます。Google のエンジニアによって書かれたImperialViolet - Overclocking SSL (この質問に間違いなく関連) で説明されている複数の手法があり、特にセッションの再開と誤起動について説明されています。私の知る限り、最新のブラウザーのほとんどは、少なくともセッションの再開をサポートしています。

    これらの手法は、新しいハンドシェイクを完全に取り除くわけではありませんが、コストを削減します。セッションの再利用とは別に、OCSP ステープル (証明書の失効ステータスを確認するため) と楕円曲線暗号スイートを使用して、完全な前方秘匿性が必要な場合に、ハンドシェイク中の鍵交換のオーバーヘッドを削減できます。これらの手法は、ブラウザーのサポートにも依存します。

    オーバーヘッドは依然としてあり、大規模な Web ファームが必要な場合、これは依然として問題になる可能性がありますが、数年前には考えられないことと考えられていたのに対し、現在ではそのような展開が可能です (一部の大企業はそれを行っています)。 .

2- すべての資産を暗号化する必要がありますか?

はい、いつものように。HTTPS 経由でページを提供する場合、使用するすべてのリソース (iframe、スクリプト、スタイルシート、画像、AJAX 要求) は HTTPS を使用する必要があります。これは主に、ページのどの部分が信頼でき、どの部分が信頼できないかをユーザーに示す方法がないためです。

3- ブラウザーは、アセットを含む HTTPS コンテンツをキャッシュしませんか?

はい、そうですCache-Control: public。アセットを提供するために明示的に を使用するか、ブラウザがそうすると想定することができます。(実際には、機密性の高いリソースのキャッシュを防止する必要があります。)

4- アセット (css、js など) を含む HTTPS コンテンツをキャッシュしないダウンストリーム透過プロキシはまだ問題ですか?

HTTP プロキシ サーバーは、SSL/TLS 接続を調べずに中継するだけです。ただし、一部の CDN は HTTPS アクセスも提供し ( Google Libraries APIのすべてのリンクは 経由で利用できますhttps://)、ブラウザ内キャッシュと組み合わせることで、パフォーマンスを向上させることができます。

5- すべての外部アセット (追跡ピクセル、ビデオなど) に HTTPS バージョンが必要ですか?

はい、これはポイント 3 に当てはまります。YouTube が HTTPS アクセスをサポートしているという事実が役立ちます。

6- HTTPS と gzip は一緒に使うとうまくいきませんか?

彼らは独立しています。HTTPS は HTTP over TLS であり、gzip 圧縮は HTTP レベルで行われます。SSL/TLS 接続を直接圧縮することはできますが、これはめったに使用されないことに注意してください。必要に応じて、HTTP レベルで gzip 圧縮を使用することもできます (2 回圧縮してもほとんど意味がありません)。

7- バックリンクとオーガニック リンクは常に HTTP になるため、常に 301'ing になります。これは SEO に影響しますか?

これらのリンクで を使用する理由がわかりませんhttp://。URL短縮サービスは、SEOについて言及している場合、一般的に言えば問題です。HTTP Strict Transport Securityの使用がますます増えると思うのでhttps://、デフォルトの URL が増えます。

于 2012-07-25T12:01:17.753 に答える