2011-10-07 17 views
9

thể trùng lặp:
Is it valid to replace with // in a <script src=“…”>?
Absolute URLs omitting the protocol (scheme) in order to preserve the one of the current page
Does using //www.example.com in Javascript chose http/https protocol automaticallysử dụng // thay vì giao thức: //

Tôi đang nhìn vào một số mẫu mã từ facebook và tôi thấy:

<script src="//connect.facebook.net/en_US/all.js"></script> 

họ sử dụng // thay vì http:// - đây có phải là cái gì đó ưa thích mà tôi chưa biết?

+5

Tôi thề đây là một bản sao của một câu hỏi rất nổi tiếng với các phiếu bầu cực đoan, nhưng tôi hiểu nếu bạn tìm kiếm và không thể tìm thấy câu hỏi gốc vì không thể I. – BoltClock

+1

Bài đăng này trả lời câu hỏi http: // stackoverflow .com/questions/3583103/scheme-relative-url, nhưng nếu bạn không biết tìm kiếm * URL tương đối của chương trình *, bạn sẽ không tìm thấy nó –

+0

@BoltClock Tôi biết câu hỏi chính xác mà bạn đang nói đến, nhưng tôi cũng không tìm được. –

Trả lời

16

Nó được gọi là "URL tương đối giao thức". Tương tự như cách url bắt đầu bằng "/" liên quan đến gốc của miền hiện tại, URL bắt đầu bằng "//" sẽ liên kết đến máy chủ và đường dẫn được chỉ định, nhưng sử dụng giao thức bất kỳ mà trang hiện tại đã được tải bằng cách sử dụng.

Có một mô tả tốt đẹp của họ, và tại sao họ đang có ích, trên blog Wikimedia:

http://blog.wikimedia.org/2011/07/19/protocol-relative-urls-enabled-on-test-wikipedia-org/

2

Về cơ bản, nó cung cấp cho bạn khả năng nhổ ra một URL và sử dụng bất kỳ giao thức nào hiện đang được sử dụng.

Facebook có thể sử dụng cùng một mã HTML bất kể người dùng có sử dụng HTTP hay HTTPS hay không. Đó là cách để đủ điều kiện miền mà không chỉ định giao thức.

0

Đó là một loại URL tương đối, nó sử dụng cùng một giao thức rằng trang này là trên.

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