2012-02-10 43 views
5

thể trùng lặp:
Is it valid to replace with // in a <script src=“…”>?
Links start with two slashesBắt đầu từ trang web bên ngoài liên kết với "//"

Tôi đã nhìn thấy điều này trên một vài trang web bây giờ. Một ví dụ dễ dàng là xem mã nguồn của trang đích Wikipedia:

<link rel="shortcut icon" href="//en.wikipedia.org/favicon.ico" /> 
<link rel="apple-touch-icon" href="//upload.wikimedia.org/wikipedia/commons/f/f1/Wikipedia-mobile-icon.png" /> 
<link rel="copyright" href="//creativecommons.org/licenses/by-sa/3.0/" /> 

Có một số tiêu chuẩn bắt đầu liên kết ngoài với // không? Điều này chỉ được thực hiện để tránh phải tải xuống thêm https?: và lưu một số ký tự vì hầu hết các trình duyệt đều đủ thông minh để thêm phần còn lại của lược đồ vào đó không? Hay đây là một điều hợp pháp, có lẽ với một số lý do khác?

+0

Không bắt buộc giao thức, cho phép SPDY khi khả dụng? –

+0

Có một bài đăng khác trên đó: http://stackoverflow.com/questions/7273573/links-start-with-two-slashes – scott

+3

Bản sao của [Có hợp lệ để thay thế http: // bằng // trong

0

Điều này cho phép bạn tải xuống các tài nguyên mà không chỉ định http hoặc https; nó sẽ sử dụng bất cứ điều gì bạn đang sử dụng.

0

Không xác định một chương trình trong URL sẽ làm cho trình duyệt để đảm nhận các chương trình hiện hành. Bạn có thể đọc một bài viết tốt về vấn đề này ở đây:

http://paulirish.com/2010/the-protocol-relative-url/

Đây là lợi ích chính của nó:

Nếu trình duyệt đang xem mà trang hiện tại thông qua HTTPS, sau đó nó sẽ yêu cầu nội dung đó bằng giao thức HTTPS, nếu không nó sẽ thường * yêu cầu bằng HTTP. Điều này ngăn thông báo lỗi "Trang này chứa cả Thông báo An toàn và Không Bảo mật" trong IE, giữ tất cả yêu cầu nội dung của bạn trong cùng một giao thức.

Có một số tật ...

Khi sử dụng trên một <link> hoặc @import cho một kiểu, IE7 và IE8 tải về tập tin hai lần. Tuy nhiên, tất cả các công dụng khác đều tốt.

... nhưng nói chung bạn có thể sử dụng điều này một cách an toàn.

Các vấn đề liên quan