すぐにhttps
に移行します。 //domain.com
リンクと画像のsrc参照を使用するのが賢明であることを理解しています。
https
を試しますか?見つからない場合はhttp
?最後に、サイト上のすべてのリンクで//domain.com
(二重スラッシュ)を使用する必要がありますか?
Googleは//domain.com
リンクを理解(および追跡)しますか?
ブラウザは1つのプロトコルを試した後、他のプロトコルにフォールバックしません。ブラウザは、リンクされているプロトコルを使用します。そのプロトコルがサポートされていない場合、ユーザーはエラーを受け取ります。
ユーザーに1つのプロトコルを使用するように強制する場合は、1つのプロトコルから別のプロトコルにリダイレクトできます。たとえば、サイトで強制的に安全な接続を行うには、。htaccessで次の書き換えルールを使用します。 http://example.com/page.html
からhttps://example.com/page.html
への301リダイレクトを発行します(- source )
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
ユーザーがどちらかを使用できるようにし、選択したままにするようにしたいようです。それは結構です。それをサポートするために、サイト上の相対リンクをフォーマットする方法は複数あります。 //
を使用することはお勧めしません。
ユーザーがhttps://example.com/foo.html
を使用していて、https://example.com/bar.html
に移動する場合、次のhref
のいずれかがa
タグで機能します。
https://example.com/bar.html
-ユーザーがhttp
サイトにいる場合、https
サイトに移動します。//example.com/bar.html
-ユーザーは、https://example.com/bar.html
またはhttp://example.com/bar.html
のいずれかにリダイレクトされます現在使用しているプロトコル。/bar.html
-プロトコルとドメイン名の両方が同じままで、URLのパス全体が変更されます。bar.html
-URL内のドキュメント部分を置換します(最後のスラッシュの後のすべて)ほとんどの場合、サイト上の他のものにリンクするときは、単一のスラッシュで始まるサイト相対リンクを使用することをお勧めします。プロトコル相対URLと同様、ユーザーは現在使用しているものと同じhttp
またはhttps
を使用します。完全なURLまたはプロトコル相対URLを使用するよりも、タイピングがはるかに少なくなります(そしてページが小さくなります)。
ディレクトリ相対URLも機能しますが、いくつかのケースでは扱いにくい場合があります。
example.com/bar/foo.html
からexample.com/bar/
へのリンクは注意が必要です。そのためのディレクトリ相対URLは./
です。.
は「現在のディレクトリ」を意味します。サイトの相対URLは/bar/
です。..
表記を使用します。したがって、example.com/bar/foo.html
からexample.com/baz.html
にリンクするには、リンクは../baz.html
になります。サーバー相対リンクは/baz.html
になります。ディレクトリ相対リンクを使用して、現在のディレクトリにあることがわかっている他のドキュメントにリンクし、サイト相対リンクを使用して、通常サイトのルートまたはその近くにあるJS、CSS、および画像にリンクすることができます。
プロトコル相対ディレクティブは、プロトコルを保持する他のサイトへのリンクに最も役立ちます。私はそれをサードパーティのJavaScriptまたは画像に最もよく使用します。セキュアとして取得されない場合、ユーザーがセキュアであるときに、ユーザーに警告が表示されます。ユーザーがセキュリティで保護されていない場合、他のサイトからリソースを安全に取得するためにサイトが遅くなる可能性があります。たとえば、通貨換算サイトの通貨データを使用している場合、<script src="//coinmill.com/frame.js"></script>
などのサードパーティのJavaScriptにリンクできます
最新のブラウザと検索エンジンはすべて、これらの種類のリンクをすべてサポートしています。
//
は、基本的に同じプロトコルでリソースが要求されることを意味します。したがって、誰かがhttpS://yourwebsite.com
を参照しており、//yourwebsite.com/style.css
のようなスタイルシートを含めると、httpS://yourwebsie.com/style.css
。
ページがhttp
のときにhttps
からリソースを要求すると、ブラウザーでエラーが発生する場合があります。
質問に答えるには:
ブラウザは最初にhttpsを試しますか?そして、httpが見つからない場合は?
いいえ、//
が見つからない場合は、十分なHTTPステータスコードを返すだけです。
これはすべてのブラウザーでサポートされていますか?
私の知る限り、すべてのブラウザがこれをサポートしていますが、Wordを使わないでください...
https://developers.google.com/speed/libraries/devguide では、<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
を使用してjQueryにリンクすることをお勧めします。 Googleは、httpとhttpsの両方でjQueryライブラリをホストしています。ブラウザは、サイトにアクセスして含まれるJavaScriptコードを取得するために使用したプロトコルと同じプロトコルを使用します。 1つを試してから、もう1つを試してみません!リソースはhttp経由でしか見つからないため、突然サイトが安全でなくなることは望ましくありません。これには、http経由でサイトにアクセスしている場合はJSだけに安全な接続を使用せず、https経由でアクセスしている場合は一部のリソースが安全でないという警告を表示しないという利点があります。
サイトがhttpからhttpsに切り替わる場合(たとえば、ログインしているユーザー/ログインしていないユーザー)、外部リソースにこのメソッド(//domain.tld/
)を使用することをお勧めします。常にhttpを使用する場合は必要ありません。常にhttpsを使用する場合は必要ありません。同じプロトコルをURLにハードコーディングするだけでかまいませんが、害はありません。
ブラウザーは同じプロトコルを使用するため、相対URLを使用している場合は、内部リソースには必要ありません。