Biasanya, ketika saya melihat //
, biasanya mengikuti beberapa awalan protokol seperti http:
atau ftp:
. Saya belum pernah melihatnya ditempatkan di tempat lain. Sebagai contoh,
http://www.google.com/
adalah URL khas.
Namun, saya menemukan dua sintaks berikut untuk menghasilkan versi berbeda dari situs yang sama,
Saya akan berpikir bahwa di //
mana saja selain spesifikasi protokol tidak valid. Yang mengejutkan saya, saya salah. Ada apa dengan ending //
yang membuat versi berbeda dari situs yang sama?
EDIT:
Seseorang di situs itu pasti telah menangkap angin dari yang lain karena kedua tautan sekarang mendarat di halaman yang sama.
///
atau////
pada akhir URL yang dihasilkan situs yang sama seperti/
di mana//
melakukan mengakibatkan sesuatu yang berbeda.\\HostName[@Port]\SharedFolder\Resource
Jawaban:
Yang utama
//
adalah bagian dari sintaks URL. Penemu web di seluruh dunia telah meminta maaf atas kesalahan itu .Adapun trailing
//
, itu benar-benar bukan tebasan ganda. Slash pertama memisahkan nama host dari path. Slash terakhir adalah path. Server web dapat, jika mau, memperlakukan jalur/
berbeda dari jalur kosong, dan ternyata weather.com melakukannya. Mengenai apakah ini kebetulan atau disengaja, Anda harus bertanya kepada mereka tentang hal itu.sumber
http://example.com
dapat diperlakukan secara berbedahttp://example.com/
? Saya tidak berpikir itu adalah kasus dengan tebasan pertama..htaccess
aturan. Tapi Anda mungkin tidak seharusnya.http://example.com
berbeda darihttp://example.com/
di server web, karena keduanya memiliki jalur kosong. Anda dapat memperlakukan mereka secara berbeda di browser.GET / HTTP/1.1
:: tools.ietf.org/html/rfc2616.html#section-3.2.3Baru-baru ini, dapat dikatakan bahwa tebasan ganda memang memiliki peran. Google merekomendasikan (untuk menghindari secara tidak sengaja menyebut konten tidak aman dari halaman yang aman, misalnya) menghilangkan protokol dari sumber daya yang disematkan (stylesheet, js dll), seperti ini
Jadi sekarang jelas bahwa URL tanpa protokol seperti itu adalah URL yang sepenuhnya memenuhi syarat dan bukan URL relatif (yang akan dimulai dengan satu garis miring).
sumber
Untuk benar-benar menjawab pertanyaan, spesifikasi asli memberi protokol
http:
(atau mungkinftp:
,gopher:
,mailto:
,news:
,telnet:
,wais:
,file:
atauprospero:
) maka//
untuk menunjukkan bahwa sintaks Uniform Resource Locator (URL) sedang digunakan, maka host (opsional diawali denganuser:password@
) maka alamat benar dimulai dengan yang lain/
. Ini diusulkan dalam RFC 1738 .Ketika internet berevolusi,
http:
menjadi protokol yang dominan sehingga browser sekarang mengasumsikan bahwa awalanhttp://
harus ditambahkan jika tidak ada.sumber
//
untuk menunjukkan bahwa itu sedang digunakan ... Begitukah?isbn:1-23-456789-12-3
. Dalam praktiknya,http:
definisi yang lainnya adalah URL. RFC hanyalah proposal dan seringkali memungkinkan ekstensi yang tidak pernah terwujud. Pada satu titik, Tim Berners-Lee mengatakan bahwa//
itu untuk 'subnet' (mis.http:/govnet/whitehouse.gov
). Gagasan ini tidak pernah digunakan, tetapi '//' tetap seperti yang diharapkan oleh banyak kode dan memeriksanya.http://www.google.com/
danhttp:%/74.125.225.97/
keduanya valid, dan//
menunjukkan nama host sementara hal lain seperti%/
menunjukkan alamat IP?Saya ingin menambahkan jawaban yang diterima David:
Meskipun permintaan maaf dari penemu web saya pikir sintaks double-slash melayani tujuan penting: untuk menonjol secara visual. Garis miring ganda memungkinkan perbedaan visual yang mudah dari URL dalam teks tanpa hyperlink. Ketika Anda melihat garis miring ganda, Anda langsung berpikir itu dapat dimasukkan di jendela browser, mirip dengan bagaimana Anda berpikir sebuah teks mengandung
@
dapat digunakan untuk mengirim email. Itu sangat penting selama fase transisi ke web di mana protokol era itu (ftp, telnet, gopher) memiliki gagasan aneh mereka sendiri untuk mewakili alamat server atau jalur sumber daya, jarang keduanya. Sebagian besar masalah yang terkait dengan garis miring ganda masih ada, karena garis miring ganda adalah bagian URL yang paling samar, pikirkan tentang nomor port, persen penyandian, dan sensitivitas huruf besar-kecil. Tetapi memiliki URL seperti http: something.com dapat dengan mudah dikacaukan dengan contoh saya di sini: something.com. Lihatlah http: // di sisi lain, bagaimana bersinar seperti berlian. Slash ganda telah menjadi bagian penting dari simbolisme Web dan saya percaya itu mempercepat laju adopsi juga, bahkan jika itu tidak disengaja.Mereka juga mungkin membuat pekerjaan AmigaOS lebih mudah untuk membedakan antara nama file dan URL karena AmigaOS menggunakan sintaks jalur file
volume:path/to/destination
. :)sumber