2010-02-02 16 views
20

Trong HTML khi tham chiếu hình ảnh, css, javascript, v.v ... đôi khi tôi sử dụng các liên kết mà không cần http hoặc https phần lược đồ, à la. <img src="//www.example.com/dir/file.gif" alt="" /> và tôi chưa có bất kỳ trình duyệt nào bị tắt (mà tôi biết). Tôi đã nhìn thấy một vài trang web công cộng khác sử dụng nó, nhưng không nhiều.Có an toàn không khi sử dụng các URI giao thức không có sơ đồ trên các trang web công cộng? Ví dụ //www.example.com/dir/file

Tôi thậm chí còn tham khảo các jQuery CDN Google với cú pháp này trên một trang web thương mại điện tử:

<script src="//ajax.googleapis.com/ajax/.." type="text/javascript"></script> 

Rõ ràng, tôi chỉ làm điều này khi tôi biết máy chủ có cả khả năng http và https. (Thông thường trang web của riêng tôi)

Vì vậy, câu hỏi của tôi là điều này có thể gây hại gì? Cạm bẫy hoặc nhược điểm của là gì?

+3

+1: Tôi thậm chí không biết điều đó là có thể. –

+0

Tôi biết rằng llbean.com đã sử dụng kỹ thuật này trong nhiều năm ... Tôi vừa kiểm tra lại và họ vẫn có tệp trỏ tới //cdn.llbean.com/... –

Trả lời

10

Nó sẽ không gây hại. Trên thực tế, nếu bạn viết src = "http://ajax.googleapis.com/ajax/ .. và người dùng của bạn sẽ duyệt qua trang web qua HTTPS thì trình duyệt sẽ cảnh báo người dùng rằng các phần của trang web sử dụng HTTP. Tốt hơn nên sử dụng // ký hiệu cho trường hợp này.

+0

ah. mát mẻ. cảm ơn vì mẹo tuyệt vời này. –

11

một gần đây blog đã trả lời câu hỏi của tôi và gửi cho tôi đi đến một vài nơi để tìm hiểu thêm.

câu trả lời chắc chắn là có miễn là bạn biết trong hai điều:

  1. Các máy chủ với nội dung của bạn cần phải được truy cập có hoặc không có SSL (nên được rõ ràng)
  2. IE 7/8 sẽ yêu cầu stylesheets hai lần, do đó bạn có thể muốn tránh sử dụng các kỹ thuật cho stylesheets
+5

arg .. IE không thành công nữa. – WalterJ89

+0

@ WalterJ89 + 1e308 –

1

Điều này có thể không áp dụng trong trường hợp cụ thể này, tuy nhiên một trong những mẫu mà chúng tôi đang sử dụng để phát triển ứng dụng di động của chúng tôi là tải HTML cục bộ xuống thiết bị và hiển thị nó trong điều khiển web. các tập lệnh bằng cách sử dụng URL schemeless sẽ không hoạt động như đã đề cập ở trên.

+0

Vì vậy, ... bạn cần sửa ứng dụng của mình? Đi trước. – MikeyB

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