2017-05-05 10 views
3

私はちょうどプリミティブなhtmlページを作成しました。ここでは、次のとおりです。example そして、ここではそのマークアップです:http(s)プレフィックスなしのHref

<a href="www.google.com">www.google.com</a> 
<br/> 
<a href="http://www.google.com">http://www.google.com</a> 

あなたは、2つのリンクが含まれて見ることができるように。最初のhrefには 'http'プレフィックスがありません。このリンクをクリックすると、存在しないページhttps://fiddle.jshell.net/_display/www.google.comにリダイレクトされます。 2番目のhrefはこの接頭辞を持ち、ブラウザは正しいURL http://www.google.com/を生成します。 http接頭辞なしで、www.something.comのようなhrefを使用することは可能ですか?

答えて

3

これは可能ですが、実際には現在行っています。あなたが思っていることをしないだけです。

ブラウザは、あなたがこれにリンクする際に何をするか考えてみましょう:あなたはこれにリンクする

href="index.html" 

それは何をするだろう

href="index.com" 

を?:それともこれは

href="www.html" 
を?:

または?:

href="www.index.com.html" 

ブラウザでは、を意味していることがわかりません。と表示されています。プレフィックスがなければ、現在のHTTPアドレスの標準に従います。プレフィックスは、新しいルートアドレスから完全に開始する必要があるということです。あなたがいない必要http:一部を行う、あなたがこれを行うことができます

注:

href="//www.google.com" 

ブラウザは、現在のプロトコルは、(httphttps、など)であるが、//を告げるものを使用します新しいルートアドレスであることを確認します。

2

パスの前に//を使用してプロトコルを省略できます。

<a href="//www.google.com">Google</a> 

//を使用することにより、あなたはこれが実際に新しい(フル)リンクではなく、(あなたの現在のリンクに対して)相対的なものであるとブラウザに伝えることができます:ここでは一例です。

関連する問題