Apa tujuan memimpin slash dalam URL HTML?

18

Aku telah memperhatikan bahwa beberapa blog posting memiliki link menggunakan nilai dimulai dengan /di href.

Sebagai contoh:

<a href="/somedir/somepage.html">My Page</a>

Apakah yang memimpin /berarti jalan dimulai dari root situs?

Dengan kata lain, jika URL situs adalah www.mysite.com , nilai efektifnya hrefadalah www.mysite.com/somedir/somepage.html?

Apakah ini konvensi yang diterima di semua browser?

Jérôme Verstrynge
sumber
3
Anda juga dapat menemukan url slash ganda, //somedomain.com/somedir/di beberapa tautan, yang menggunakan protokol yang sama dengan yang digunakan untuk halaman saat ini, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Jawaban:

19

Sangat penting untuk memulai URL dengan /sehingga URL yang dimaksud dikembalikan sebagai ganti orang tua atau anaknya.

Katakanlah jika menjelajah /cream-cakes/Anda maka Anda memiliki tautan pada halaman yang memiliki blah.htmltanpa garis miring akan mencoba untuk mengunjungi halaman /cream-cakes/blah.htmlsementara dengan garis miring akan menganggap Anda berarti tingkat atas yang akan domain.com/blah.html.

Secara umum, yang terbaik adalah selalu menggunakan /pengalaman saya sebagai yang lebih ramah ketika Anda mengubah struktur situs Anda, meskipun tidak ada benar atau salah dengan asumsi bahwa halaman yang dimaksud akan dikembalikan.

Simon Hayter
sumber
12

Apakah yang memimpin '/' berarti jalan dimulai dari root situs?

Secara teknis ini dirujuk dalam bagian 4.2 dari RFC 3986 sebagai "referensi jalur absolut":

Referensi relatif yang dimulai dengan karakter garis miring tunggal disebut referensi jalur absolut.

Ini memastikan path absolut ke direktori root dan bukan direktori saat ini (disebut referensi "relatif-path"). Lihat ini untuk diskusi lebih lanjut tentang itu.

dan
sumber
Bisakah Anda mengatasi dukungan browser untuk jenis tautan ini?
Stephen Ostermiller
2
@Stephen setiap browser yang pernah dibuat setidaknya sejak tahun 1998.
DisgruntledGoat
1
@ DisgruntledGoat: Mungkin jauh lebih awal dari itu. Bahkan, saya akan mengambil risiko dan hanya mengatakan "setiap browser yang pernah "; sintaks yang telah menjadi bagian dari standar URL sejak awal.
Ilmari Karonen
2

Itu tautan relatif-root. Ini adalah tautan relatif (agak mirip dengan ../) tetapi dimulai pada akar situs. Jika kedalaman tiga halaman di situs memulai tautan dengan garis miring ke depan, sisa jalur akan relatif terhadap akar situs.

Manfaat untuk bentuk lintasan ini adalah lebih sedikit karakter dalam markup:

http://example.com/page.html

vs.

/page.html

Keuntungan lain adalah portabilitas di seluruh perubahan domain. Jika example.comkonten dipindahkan ke example.org, misalnya, tautan relatif-root masih akan berfungsi, dengan asumsi penamaan / tata letak direktori yang sama digunakan. Terutama berguna jika mengembangkan halaman secara lokal, kemudian mengunggah ke web.

Seperti jenis pathing lain - relatif ( ../) dan absolut ( http://...) ini masih dapat memperbarui tautan ketika file atau direktori diganti nama atau dipindahkan.

Grant Palin
sumber
0

Tutorial ini menunjukkan bahwa jawaban untuk pertanyaan saya adalah ya.

Efektif hrefNilai memang: www.mysite.com/somedir/somepage.html.

Jérôme Verstrynge
sumber