Bạn không chỉ đơn giản là lưu trữ toàn bộ trang web với CDN, chỉ nội dung của bạn .
Tôi mới nhận ra mình đã trả lời một câu hỏi tương tự một lúc trước: akamaihd.net làm gì?
Hình ảnh bởi WikiMedia
Vì vậy, trang web của bạn tham khảo http://akamai/myfile.ext
. Điều này sẽ yêu cầu myfile.ext
từ akamai
. akamai
sau đó có thể gửi chuyển hướng HTTP đến máy chủ nội dung thực tế.
Bây giờ, khi bước cuối cùng được lưu trữ, thật tuyệt, tất cả các yêu cầu trong tương lai sẽ chuyển đến máy chủ nội dung gần nhất.
Làm thế nào mà làm việc?
Hãy giả sử trang web này:
<html>
<body>
<img src="http://cdn/oliver.png" />
</body>
</html>
Tôi yêu cầu trang web này từ máy chủ web của riêng tôi. Các .html
tập tin không được lưu trữ với cdn
. DNS của máy chủ web của tôi cũng không.
Yêu cầu ban đầu
Vì vậy, trình duyệt của tôi có tệp HTML đó và bây giờ phân tích cú pháp. Nó tìm thấy hình ảnh được tham chiếu và ghi chú rằng nó được đặt tại http://cdn/oliver.png
. Nó yêu cầu tập tin đó.
Để làm điều đó, nó cần tìm địa chỉ IP của cdn
. Trong ví dụ của chúng tôi, địa chỉ IP đó là 10.10.10.10
.
Với địa chỉ IP đó, nó có thể kết nối với cdn
máy chủ và yêu cầu /oliver.png
.
Vị trí địa lý
Bây giờ cdn
nhận ra, " anh chàng đó đến từ Đức! ". Vì vậy, thay vì gửi cho tôi bức ảnh tuyệt vời mà tôi muốn, nó sẽ gửi cho tôi một chuyển hướng HTTP có nội dung:
/oliver.png không có ở đây. Nó ở10.10.33.33/oliver.png
Vì vậy, trình duyệt của tôi sẽ yêu cầu 10.10.33.33
(hy vọng là gần tôi hơn) cho hình ảnh.
Nghiêm túc?
Tôi không nói đây là cách TẤT CẢ CDN hoạt động, nhưng nó sẽ là một cách tiếp cận.
Bạn cũng có thể triển khai một trình nền DNS trả về các kết quả khác nhau cho việc tra cứu tên tùy thuộc vào vị trí của bất kỳ ai đã gửi truy vấn.
Nhưng tôi nghi ngờ rằng điều này được thực hiện trong thực tế. Nhưng có lẽ tôi không thể tưởng tượng làm thế nào để thiết lập đúng. Xem câu trả lời của fluffy để biết làm thế nào có thể làm việc.
Ai điều hành CDN?
Hầu hết người chơi toàn cầu có mạng phân phối nội dung của riêng họ theo cách (hoặc vì vậy tôi sẽ giả sử). Một số nhà cung cấp chỉ giảm tải một số dịch vụ cho các CDN lớn hơn (như Microsoft thực hiện với tải xuống MSDN). Và điều này bằng cách nào đó có thể chạm vào chủ đề thứ hai của bạn.
Hãy xem xét điều này, trong MSDN Microsoft cung cấp tải xuống sản phẩm. Những bản tải xuống này sau đó được cung cấp bởi Akamai. Nếu bạn có thể xác định URL của bản tải xuống đó, bạn chỉ có thể tải xuống sản phẩm mà không cần liên lạc với Microsoft.
Đó có phải là một vấn đề bảo mật? Không thực sự, bởi vì những gì đang được tải xuống vẫn được bảo vệ (bằng khóa sản phẩm).
Nhưng làm thế nào về dữ liệu khác?
Nếu dữ liệu của bạn có liên quan đến bảo mật, thì đó không phải là tài liệu CDN. Nếu bạn không muốn một cái gì đó có sẵn rộng rãi nhất có thể, đừng đặt nó vào CDN.