Çift eğik çizgiyle başlayan URL'ler için tarayıcı desteği


107

Son zamanlarda protokol olmadan kullanılan birkaç bağlantı gördüm. Anlaması çok zor görünmüyordu - bence bu harika bir fikir ve oldukça sezgisel.

Gibi bir URL kullanarak habersiz o sizin için //example.com/script.jsarzusu noktasına ya http://example.com/script.jsya https://example.com/script.jsbir gelen olup olmadığını URL menşeli bağlı http veya https URL'si. Örneğin, bir https sayfasından http komut dosyaları veya resimler eklemek bir güvenlik sorunu olabilir, bu nedenle bu, kodunuzda protokol algılamaya gerek kalmadan bunu çözer.

Sorum şu, bunun için ne tür bir tarayıcı / işletim sistemi desteği var? Üretimde kullanmak güvenli mi? Kesinlikle işleri biraz daha kolaylaştırır.

Basit örnek ve test: http://codetester.org/916c6916

DÜZENLEME: Bunu şirketimin reklam sunucusu için üretimde birçok şey için birkaç yıldır sorunsuz olarak kullandığımın bir devamı.


9
Burada cevap verdi: stackoverflow.com/questions/4659345/... o kadar --- Kısacası, RFC şartnamede var olmalıdır tüm büyük tarayıcılar tarafından desteklenebilir.
Keith

1
@Keith Teşekkürler, bu iyi ve hepsi, ancak RFC özelliklerine baktığımda, aslında bu başlangıçtaki çift eğik çizgi hakkında hiçbir şey görmüyorum. Zaten yapılmış kesin bir tarayıcı testi bulmayı umuyordum. :)
dtbarne

Yanıtlar:


88

Bu davranış , yaklaşık 16 yıllık olan RFC 1808'in (Bölüm 4) bir parçasıydı , bu nedenle her büyük tarayıcının bunu desteklemesi gerekir (ve yapar).

Ne yazık ki, IE7 ve -8'de , bir linkveya üzerinde protokole bağlı bir URL kullanılırsa kaynakları iki kez indirmelerine neden olacak bir hata var @import- bu büyük bir sorun olmamalı, ancak çirkin ve akılda tutulmalıdır.


Bu eski bir gönderi, ancak bunun hiç de iyi bir uygulama olmadığını söylemek istedim. Son zamanlarda müşterilerimizin yönetici kontrol panelinde bazı sorunlar yaşadım. URL //code.jquery.com/jquery-2.1.3.min.jsbulunamadı ve kitaplık yüklenmedi. Daha sonra http://code.jquery.com/jquery-2.1.3.min.jsbir hata sayfası yüklemeye ve görmeye çalışıyorum . Dahili olarak ayarladıkları bir proxy veya VPN veya güvenlik duvarı güvenlik yapılandırmasından şüpheleniyorum. httpsProtokolü kullanmak için URL'yi güncelledikten sonra her şey yolunda gidiyor.
TwystO

3

Yerel bir makinede geliştirme yapıyorsanız, başarısız olma olasılığı vardır. src="file://host.com/filename".

Bu durumda, şemayı açıkça belirtmeniz gerekir: http://host.com/filenameveya https://host.com/filename.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.