缺少http(s)前綴的Href鏈接
P粉329425839
2023-08-22 21:56:49
<p>我剛剛建立了一個簡單的HTML頁面。在這裡:example
這是它的標記:</p>
<pre class="brush:php;toolbar:false;"><a href="www.google.com">www.google.com</a>
<br/>
<a href="http://www.google.com">http://www.google.com</a></pre>
<p>如你所見,它包含兩個連結。第一個連結的href沒有'http'前綴,當我點擊這個連結時,瀏覽器將我重新導向到不存在的頁面<code>https://fiddle.jshell.net/_display/www.google. com</code>。第二個連結的href有這個前綴,瀏覽器產生了正確的URL<code>http://www.google.com/</code>。是否可能使用沒有http(s)字首的href,如<code>www.something.com</code>? </p>
您可以在路徑前面使用
//
來省略協定。這裡是一個範例:透過使用
//
,您可以告訴瀏覽器這實際上是一個新的(完整的)鏈接,而不是相對於當前鏈接的相對鏈接。這是可能的,而且你現在正在做。它只是不會做你想要的事情。
考慮一下當你連結到這個時,瀏覽器會做什麼:
那麼當你連結到這個時,它會做什麼? :
或這個? :
或者? :
瀏覽器不知道你的意思,它只知道你告訴它的內容。沒有前綴,它將按照當前HTTP位址的標準進行操作。前綴是告訴它需要從一個全新的根位址開始的。
請注意,你不需要
http:
部分,你可以這樣做:瀏覽器將使用目前的協定(
http
,https
等),但//
告訴它這是一個新的根位址。