Czy jest jakiś powód, dla którego dołączamy protokół http
/https
dla atrybutu linków w atrybucie href
?html - łącza bez protokołu http
Byłoby dobrze, aby po prostu zostawić go:
<a href="example.com">my site</a>
Czy jest jakiś powód, dla którego dołączamy protokół http
/https
dla atrybutu linków w atrybucie href
?html - łącza bez protokołu http
Byłoby dobrze, aby po prostu zostawić go:
<a href="example.com">my site</a>
Włączenie części "http:" lub "https:" jest częściowo kwestią tradycji, częściowo kwestią faktycznego określenia protokołu. Jeśli jest ustawiony domyślnie, używany jest protokół bieżącej strony; np. //www.example.com staje się http://www.example.com lub https://www.example.com w zależności od adresu URL strony odsyłającej. Jeśli strona internetowa jest zapisywana na dysku lokalnym, a następnie otwierana z tego miejsca, nie ma ona protokołu (tylko plik: pseudo-protokół), więc adresy URL takie jak //www.example.com nie będą działać; Oto jeden powód włączenia części "http:" lub "https:".
Pominięcie również części "//" jest zupełnie innym problemem, zmieniającym adres URL na względny adres URL, który będzie interpretowany jako względny w stosunku do bieżącego podstawowego adresu URL.
Powodem, dla którego www.example.com działa po wpisaniu lub wklejeniu w wierszu adresu przeglądarki, jest to, że względne adresy URL nie mają sensu (nie ma podstawowego adresu URL, z którym można się powiązać), więc dostawcy przeglądarki zdecydowali się na " Przedrostek http: // "tam.
bez http, zajęłoby względny adres URL. Jeśli musisz wskazać zewnętrzny adres URL, należy podać http, w przeciwnym razie spróbuje pobrać lokalny zasób.
To zależy od tego, gdzie chcesz wskazywać.
Fałsz. Host może zostać określony bez protokołu, zaczynając od "//", tak jak w: "//www.example.com/blah/blah" – NVRAM
wskazuje, że linki są uważane za ścieżki względne bez żadnego http (lub //) jak zauważyła @NVRAM). Byłem w stanie rozwiązać mój problem, sprawdzając adres URL i wstawiając "//", jeśli nie zawierał on "http". To działało świetnie. Dziękuję wam obu –
Adresy URL w href nie są ograniczone tylko do dokumentów HTTP. Obsługują one wszystkie protokoły obsługiwane przez przeglądarki - ftp, mailto, file itp.
Możesz również poprzedzić nazwę URL za pomocą "#", aby linkować do identyfikatora html wewnętrznie na stronie. Możesz podać tylko nazwę lub ścieżkę do katalogu, bez protokołu, który zostanie przyjęty jako względny adres URL.
Porównać "' i '' - biorąc pod uwagę, że przeglądarka nie może odgadnąć, na co wskazuje łącze w zależności od rozszerzenia, co powinna zrobić ? Lub '' - jest to link do [polskiej strony] (http://en.wikipedia.org/wiki/.pl) lub pliku [Perl] (http: //www.fileinfo.com/extension/pl)? – Gareth
Dzięki @Gareth dobre wyjaśnienie! –
Częścią adresu URL, z którego link jest wysyłany na zewnątrz, jest // nie protokół. Protokół informuje komputer tylko o tym, jakiego urządzenia użyć w łączu. Możesz utworzyć link do "http://example.com", https://example.com, ftp://example.com lub po prostu //example.com. Ten ostatni oświadczył, że powinieneś użyć swojego bieżącego protokołu klienta (zazwyczaj przeglądarki http/https, ale może to być klient poczty e-mail itp.) I jest niezwykle przydatny, gdy rozważasz witrynę z protokołami zarówno http, jak i https. –