Anda tidak hanya meng - host seluruh situs dengan CDN, hanya konten Anda .
Saya baru sadar bahwa saya menjawab pertanyaan yang sama beberapa waktu lalu: Apa yang dilakukan akamaihd.net?
Gambar oleh WikiMedia
Jadi referensi situs Anda http://akamai/myfile.ext
. Ini akan meminta myfile.ext
dari akamai
. akamai
kemudian dapat mengirim pengalihan HTTP ke server konten yang sebenarnya.
Sekarang, ketika langkah terakhir di-cache, bagus, semua permintaan di masa mendatang akan pergi ke server konten terdekat.
Bagaimana cara kerjanya?
Mari kita asumsikan situs web ini:
<html>
<body>
<img src="http://cdn/oliver.png" />
</body>
</html>
Saya meminta situs web ini dari server web saya sendiri. The .html
file tidak host dengan cdn
. DNS server web saya juga tidak.
Permintaan awal
Jadi browser saya mendapatkan file HTML itu dan sekarang mem-parsingnya. Ia menemukan gambar dan catatan yang dirujuk di mana ia berada http://cdn/oliver.png
. Ia meminta file itu.
Untuk melakukan itu, perlu menemukan alamat IP cdn
. Dalam contoh kita, alamat IP itu 10.10.10.10
.
Dengan alamat IP itu, ia dapat terhubung ke cdn
server dan meminta /oliver.png
.
Lokasi Geo
Sekarang cdn
sadar, " orang itu dari Jerman! ". Jadi, alih-alih mengirimi saya foto saya yang luar biasa yang saya inginkan, itu mengirimkan saya sebuah pengalihan HTTP yang mengatakan:
/oliver.png tidak ada di sini. Itu di10.10.33.33/oliver.png
Jadi browser saya akan meminta 10.10.33.33
(yang diharapkan dekat dengan saya) untuk gambar.
Serius?
Saya tidak mengatakan ini adalah bagaimana SEMUA CDN bekerja, tetapi itu akan menjadi satu pendekatan.
Anda juga bisa menerapkan daemon DNS yang mengembalikan hasil yang berbeda untuk pencarian nama tergantung pada lokasi siapa pun yang mengirim kueri.
Tetapi saya ragu bahwa ini dilakukan dalam praktek. Tapi mungkin saya tidak bisa membayangkan bagaimana mengaturnya dengan benar. Lihat jawaban fluffy untuk cara kerjanya.
Siapa yang menjalankan CDN?
Sebagian besar pemain global memiliki jaringan pengiriman konten sendiri (atau saya kira begitu). Beberapa penyedia hanya menurunkan layanan tertentu ke CDN yang lebih besar (seperti Microsoft dengan unduhan MSDN). Dan ini entah bagaimana mungkin menyentuh subjek kedua Anda.
Pertimbangkan ini, di MSDN Microsoft menawarkan unduhan produk. Unduhan ini kemudian disediakan oleh Akamai. Jika Anda dapat menentukan URL unduhan itu, Anda dapat mengunduh produk tersebut tanpa pernah menghubungi Microsoft.
Apakah itu masalah keamanan? Tidak juga, karena apa yang sedang diunduh masih dilindungi (oleh kunci produk).
Tapi bagaimana dengan data lain?
Jika data Anda relevan dengan keamanan, maka itu bukan materi CDN. Jika Anda tidak ingin sesuatu tersedia seluas mungkin, jangan masukkan ke dalam CDN.