2012-04-13 9 views
8

Nếu tôi liên kết jQuery từ Google CDN với thẻ tập lệnh trong một trang html trên trang web của khách hàng, đó là ý nghĩa riêng tư của điều này?Sử dụng tập lệnh CDN, riêng tư và chi phí

Chi phí ẩn bằng cách sử dụng các dịch vụ CDN này là gì? Nếu tập lệnh không được lưu trong bộ nhớ cache bởi trình duyệt và nó sẽ tải tập lệnh từ google những gì có thể google có thể làm với thông tin? Nó có thể được ngoại suy một cách hữu ích kết hợp với các dịch vụ khác như tìm kiếm, phân tích hoặc adsense không? Không có gì là miễn phí, bắt là gì?

và câu hỏi thưởng ....

Nếu tập lệnh được lưu trong bộ nhớ cache bởi trình duyệt (304) thì trình duyệt vẫn thực hiện yêu cầu từ xa?

Trả lời

2

Một 304 một phản ứng đó là kết quả của một yêu cầu. Đó là một yêu cầu, bao gồm thông tin về yêu cầu cuối cùng được thực hiện và nhận được 200, từ đó máy chủ trả lời, 200 OK và đây là nội dung mới hoặc 304 Not Modified và kết thúc tại đó (với một vài tiêu đề HTTP để có biện pháp tốt) .

Thực tế, mặc dù, với cấu hình đúng của câu trả lời, trình duyệt thậm chí có thể không thực hiện yêu cầu. Tôi không biết các tiêu đề ra khỏi đầu của tôi, vì vậy tôi đã làm một yêu cầu Google CDN của jquery 1.7.2 chỉ bằng cách điều hướng thông qua trình duyệt.

HTTP/1.1 304 Not Modified 
Date: Wed, 11 Apr 2012 15:01:19 GMT 
Expires: Thu, 11 Apr 2013 15:01:19 GMT 
Age: 122140 
Server: GFE/2.0 

Vì vậy, bạn có thể thấy thiết lập sẽ hết hạn sau 1 năm. Tôi đã thử sử dụng nó như một nguồn cho một kịch bản trong một trình soạn thảo html/trang web địa phương và, bằng cách sử dụng Fiddler2, có thể thấy rằng không có yêu cầu nào được thực hiện. Bây giờ nếu tôi điều hướng qua trình duyệt của tôi một lần nữa, tôi sẽ nhận được yêu cầu tương tự, nhưng không có trong trình soạn thảo của tôi.

Bảo mật thông minh, tôi không chắc chắn có vấn đề gì. Nếu một điều gì đó xảy ra với CDN, tất nhiên, có thể có một số vấn đề, và tất nhiên có thể có người đàn ông trong các cuộc tấn công ở giữa, vv, nhưng nếu đó là mối quan tâm của bạn, bạn nên sử dụng HTTPS anyway. CDN cũng thường cung cấp HTTPS.

Hạn chế lớn nhất để phụ thuộc vào CDN là do lỗi mạng, khách hàng của bạn có thể không có quyền truy cập vào CDN. Vì vậy, nó luôn luôn tốt để cung cấp một bản sao lưu.

Dưới đây là một ví dụ:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    if (typeof jQuery == 'undefined') { 
     document.write(unescape('%3Cscript src="/local/path/to/jQuery/jquery.1.7.1.min.js" type="text/javascript"%3E%3C/script%3E')); 
    } 
</script> 
+0

Cảm ơn bạn đã có câu trả lời sâu sắc như thế và cho đoạn kịch bản sao lưu là tốt. – puddletown

+1

Không nơi nào địa chỉ này thực tế đơn giản và quan trọng ngày nay khi kịch bản là DL'd Google nhận được tất cả thông tin về khách hàng của bạn, và bạn trở thành một công cụ khác để Google thu hút những người sử dụng internet. –

+0

Um, không thực sự, @LuisMachuca. Nói chung, các tập lệnh này được lưu trong bộ nhớ cache cả năm * mà không có yêu cầu bổ sung *. Lần duy nhất Google sẽ tìm hiểu bất cứ điều gì về bạn hoặc trang web bạn đã truy cập (thông qua HTTP Referrer) sẽ là lần đầu tiên một số trang web yêu cầu phiên bản jQuery cụ thể mà không có nó trong bộ nhớ cache của trình duyệt. Phải thừa nhận rằng việc bỏ qua một số thông tin cho bất kỳ CDN nào là không thể tránh khỏi, vì vậy việc sử dụng chúng có thể không được khuyến khích trong một số trường hợp. – JayC