Saya baru-baru ini melihat beberapa tautan yang digunakan tanpa protokol. Tampaknya tidak terlalu sulit untuk dipahami - menurut saya itu ide yang bagus dan cukup intuitif.
Bagi Anda yang tidak menyadarinya, menggunakan URL like //example.com/script.js
akan mengarah ke salah satu http://example.com/script.js
atau https://example.com/script.js
bergantung pada apakah URL tersebut berasal dari URL http atau https atau tidak . Menyertakan skrip http atau gambar dari halaman https dapat menjadi masalah keamanan, misalnya, jadi ini menyelesaikannya tanpa perlu deteksi protokol dalam kode Anda.
Pertanyaan saya adalah, browser / OS seperti apa yang mendukungnya? Apakah aman digunakan dalam produksi? Ini pasti akan membuat segalanya menjadi lebih mudah.
Contoh dan pengujian sederhana: http://codetester.org/916c6916
EDIT: Hanya tindak lanjut bahwa saya telah menggunakan ini untuk server iklan perusahaan saya dalam produksi untuk banyak hal tanpa masalah selama beberapa tahun sekarang.
sumber
Jawaban:
Perilaku ini adalah bagian dari RFC 1808 (Bagian 4) yang berusia sekitar 16 tahun, jadi setiap browser utama harus (dan memang) mendukung ini.
Sayangnya, ada bug dengan IE7 dan -8 yang akan membuat mereka mengunduh sumber daya dua kali jika URL relatif-protokol digunakan pada
link
atau@import
- yang seharusnya tidak menjadi masalah besar, tetapi jelek dan harus diingat.sumber
//code.jquery.com/jquery-2.1.3.min.js
tidak ditemukan dan perpustakaan tidak dimuat. Saya kemudian mencoba memuathttp://code.jquery.com/jquery-2.1.3.min.js
dan melihat halaman kesalahan. Saya mencurigai konfigurasi keamanan proxy atau VPN atau firewall yang mereka atur secara internal. Setelah memperbarui URL untuk menggunakanhttps
protokol, semuanya berfungsi dengan baik.Jika Anda mengembangkan pada mesin lokal, ada kemungkinan itu akan gagal
src="file://host.com/filename".
Dalam situasi ini Anda perlu menentukan skema secara eksplisit:
http://host.com/filename
atauhttps://host.com/filename
.sumber