HTTPS でコストがかかるのは、CPU (非対称暗号化操作の方がコストがかかる) とネットワーク ラウンド トリップ (ハンドシェイク自体だけでなく、証明書の失効を確認するため) の両方の点でハンドシェイクです。この後、対称暗号化を使用して暗号化が行われますが、これは最新の CPU に大きなオーバーヘッドを課すことはありません。ハンドシェイクによるオーバーヘッドを削減する方法があります (特に、サポートおよび構成されている場合は、セッションの再開を介して)。
多くの場合、静的コンテンツをクライアント側でもキャッシュできるように構成すると便利です (「 」を参照Cache-Control: public
)。一部のブラウザは、デフォルトで HTTPS コンテンツをキャッシュしません。
HTTPS を使用しているときにサーバーの CPU 負荷を 300 増やすと、何かが適切に構成されていないように聞こえます。
彼の解決策は、ログイン資格情報の送信を保護するために、ログイン ページでのみ SSL を使用することでした。次に、それらをHTTPにリダイレクトします...これは良い習慣ですか?
多くのサイトがこれを行っています (StackOverflow を含む)。どの程度のセキュリティが必要かによって異なります。これを行うと、資格情報のみが保護されます。攻撃者はプレーンな HTTP で渡された Cookie (または同様の認証トークン) を盗聴し、それを使用して認証されたユーザーになりすますことができます。
HTTP から HTTPS に切り替える場合、またはその逆の場合は、細心の注意を払う必要があります。たとえば、ログイン ページからの認証トークンは、プレーンな HTTP に渡されると「侵害された」と見なされます。特に、その認証トークンを引き続き使用する後続の HTTPS 要求が正当なユーザーからのものであると想定することはできません (たとえば、「マイ アカウント」の詳細の編集などを許可しないでください)。