Mục đích của dấu gạch chéo hàng đầu trong các URL HTML là gì?


17

Tôi đã nhận thấy rằng một số bài viết blog có liên kết sử dụng một giá trị bắt đầu với /trong href.

Ví dụ:

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

Có phải hàng đầu /có nghĩa là đường dẫn đang bắt đầu từ trang web gốc?

Nói cách khác, nếu URL của trang web là www.mysite.com, hrefgiá trị hiệu quả là www.mysite.com/somedir/somepage.html?

Đây có phải là một quy ước được chấp nhận trong tất cả các trình duyệt?


3
Bạn cũng có thể tìm thấy một url đôi slash, //somedomain.com/somedir/trong một số liên kết, trong đó sử dụng cùng một giao thức được sử dụng để trang hiện tại, stackoverflow.com/questions/4978235/... stackoverflow.com/questions/4831741/...
Hawken

Câu trả lời:


19

Điều quan trọng là bắt đầu một URL với một /URL dự định được trả về thay vì cha hoặc con của nó.

Giả sử nếu trình duyệt của bạn /cream-cakes/thì bạn có một liên kết trên trang blah.htmlkhông có dấu gạch chéo phía trước, nó sẽ cố gắng truy cập trang /cream-cakes/blah.htmltrong khi với dấu gạch chéo về phía trước, nó sẽ cho rằng bạn có nghĩa là cấp cao nhất domain.com/blah.html.

Nói chung, tốt nhất là luôn luôn sử dụng /theo kinh nghiệm của tôi vì nó thân thiện hơn khi bạn thay đổi cấu trúc trang web của mình, mặc dù không có đúng hay sai khi cho rằng trang dự định được trả lại.


11

Có phải hàng đầu '/' có nghĩa là đường dẫn bắt đầu từ gốc trang không?

Về mặt kỹ thuật, điều này được tham chiếu trong phần 4.2 của RFC 3986 như là một "tham chiếu đường dẫn tuyệt đối":

Một tham chiếu tương đối bắt đầu bằng một ký tự gạch chéo được gọi là tham chiếu đường dẫn tuyệt đối.

Nó đảm bảo đường dẫn là tuyệt đối với thư mục gốc chứ không phải thư mục hiện tại (được gọi là tham chiếu "đường dẫn tương đối"). Xem điều này cho một cuộc thảo luận mở rộng về điều đó.


Bạn có thể giải quyết hỗ trợ trình duyệt cho loại liên kết này?
Stephen Ostermiller

2
@ Trước khi mọi trình duyệt được tạo từ ít nhất là năm 1998.
DisgruntledGoat

1
@DisgruntledGoat: Có lẽ sớm hơn thế. Trên thực tế, tôi đi trên một chi và chỉ nói "mọi trình duyệt từng có "; cú pháp đó đã là một phần của tiêu chuẩn URL ngay từ đầu.
Ilmari Karonen

2

Đó là một liên kết gốc. Đó là một liên kết tương đối (hơi giống với ../) nhưng nó bắt đầu từ thư mục gốc của trang web. Nếu một trang ba cấp độ sâu trên trang web bắt đầu một liên kết với dấu gạch chéo về phía trước, phần còn lại của đường dẫn sẽ liên quan đến thư mục gốc của trang web.

Một lợi ích cho hình thức đường dẫn này là ít ký tự hơn trong đánh dấu:

http://example.com/page.html

đấu với

/page.html

Một lợi thế khác là tính di động trên các thay đổi tên miền. Ví dụ, nếu example.comnội dung được chuyển đến example.org, các liên kết gốc tương đối sẽ vẫn hoạt động, giả sử sử dụng cùng tên / bố cục thư mục. Đặc biệt hữu ích nếu phát triển các trang cục bộ, sau đó tải lên web.

Cũng như các loại đường dẫn khác - tương đối ( ../) và tuyệt đối ( http://...), điều này vẫn phải tuân theo các liên kết cập nhật khi các tệp hoặc thư mục được đổi tên hoặc di chuyển.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.