Các URL tuyệt đối bỏ qua giao thức (lược đồ) để duy trì một trong những trang hiện tại


85

Tôi đã thấy //somepage.com/resourceđịnh dạng url. Ví dụ:

<img src="//remotesite.com/image1.jpg" />

Vấn đề của điều này là nếu trang hiện tại (trang xác định imgthẻ) đang sử dụng http, thì yêu cầu đến trang từ xa được thực hiện thông qua http. Nếu là https - đó là https. Điều này giúp loại bỏ các cảnh báo của trình duyệt về các trang không được mã hóa hoàn toàn.

Câu hỏi của tôi là - định dạng URL này có an toàn để sử dụng cho tất cả các trình duyệt không. Và nó có phải là một tiêu chuẩn?


4
Liên quan: Tôi có thể thay đổi tất cả các liên kết http: // của mình thành // không? câu trả lời đầu tiên của bạn và lược đồ URL tương đối trả lời câu hỏi thứ hai.
Gumbo

1
Câu hỏi tương tự: stackoverflow.com/questions/8343942/…
TMS


Mặc dù bạn không sử dụng thuật ngữ trong câu hỏi của mình, nhưng tôi đã thêm thẻ giao thức-tương đối (vì vậy câu hỏi này có thể được tìm thấy dễ dàng hơn).
unor

Câu trả lời:


61

định dạng URL này có an toàn để sử dụng cho tất cả các trình duyệt không.

Tôi không thể nói chắc chắn điều gì, nhưng bạn có thể kiểm tra nó trên các trình duyệt khác nhau.

Và nó có phải là một tiêu chuẩn?

Về mặt kỹ thuật, nó được gọi là "tham chiếu đường dẫn mạng" theo RFC 3986 . Đây là sơ đồ cho nó:

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

Có một vấn đề tuy nhiên, khi sử dụng trên một <link>hoặc @import, IE7 và IE8 tải file.

Đây là một bài viết của Paul Ailen về chủ đề:


1
Lưu ý rằng Paul Irish đã cập nhật bài đăng của mình để chỉ ra rằng tài nguyên bây giờ phải luôn được cung cấp qua https khi có thể thực hiện được. Xem bài đăng được liên kết bởi @Sarfraz ở trên.
Evan Donovan,

1
Google analytics đoạn mã sử dụng chương trình này, vì vậy tôi đặt cược đó là trình duyệt chéo trong khi công cụ này được sử dụng bởi nhiều nhiều trang web, họ sẽ chỉ cung cấp https phiên bản khác
Lukas Liesis

22

Vâng, tôi tin là như vậy. Paul Ailen đã đặt ra thuật ngữ URL tương đối giao thức .

Tôi cũng muốn chỉ ra rằng đó là một phần của dự án HTML5Boilerplate nhằm truyền bá tính tương thích giữa các trình duyệt.

Lưu ý: có một trường hợp lợi hại trong IE6 với google analytics được đề cập trong bài viết của Paul. Vì vậy, nó không hoàn hảo.


Điều này không còn đúng nữa, hãy xem stackoverflow.com/a/37609402/2237601 hoặc tại đây , hiện họ đang sử dụng https://. Ngoài ra, hãy xem ở đây tại sao việc bỏ qua lược đồ giao thức có thể không phải là một ý kiến ​​hay.
bg17aw

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.