Halaman ini menunjukkan contoh dan tips dalam menggunakan bucket untuk menghosting situs statis.
Halaman khusus
Halaman indeks
Halaman indeks (juga disebut indeks direktori server web)
adalah file yang ditampilkan ke pengunjung saat mereka meminta URL yang tidak memiliki
file terkait. Saat Anda menetapkan properti MainPageSuffix
,
Cloud Storage mencari file dengan nama tersebut yang imbuhannya cocok dengan
URL yang diminta pengunjung.
Misalnya, Anda menetapkan MainPageSuffix
situs statis Anda ke
index.html
. Selain itu, misalnya Anda tidak memiliki file bernama directory
di bucket www.example.com
. Dalam situasi ini, jika pengguna meminta URL
http://www.example.com/directory
, Cloud Storage akan mencoba menyajikan file
www.example.com/directory/index.html
. Jika file tersebut juga tidak ada,
Cloud Storage akan menampilkan halaman error.
MainPageSuffix
juga mengontrol file yang disajikan saat pengguna meminta situs
tingkat atas. Melanjutkan contoh di atas, jika pengguna meminta
http://www.example.com
, Cloud Storage akan mencoba menyajikan file
www.example.com/index.html
.
Saat mencoba mengakses URL dengan akhiran garis miring, seperti
http://www.example.com/dir/
, lihat Pemecahan masalah.
Halaman error
Halaman error adalah file yang ditampilkan ke pengunjung situs statis yang
meminta URL yang tidak sesuai dengan file yang ada. Jika Anda telah
menetapkan MainPageSuffix
, Cloud Storage hanya akan menampilkan halaman error jika
tidak ada file dengan nama yang diminta atau halaman indeks yang berlaku.
Saat menampilkan halaman error, kode respons http adalah 404
. Properti yang
mengontrol file mana yang bertindak sebagai halaman error adalah NotFoundPage
. Jika Anda tidak
menetapkan NotFoundPage
, pengguna akan menerima halaman error umum.
Contoh konfigurasi situs
Bucket tiga objek
Misalkan bucket bernama www.example.com
telah dikonfigurasi sebagai situs
dengan setelan dan file berikut:
MainPageSuffix
= "index.html"NotFoundPage
= "404.html"- Bucket berisi tiga objek yang dibagikan secara publik: "index.html", "404.html", dan "dir/index.html".
Tabel berikut menunjukkan konten yang disajikan untuk URL yang dipilih:
URL yang Diminta | Konten yang Disajikan | Kode respons HTTP |
---|---|---|
http://www.example.com http://www.example.com/ http://www.example.com/index.html |
Objek "index.html". | 200 |
http://www.example.com/hello | Objek "404.html". | 404 |
http://www.example.com/dir/index.html | Objek "dir/index.html". | 200 |
http://www.example.com/dir | Objek "dir/index.html". | 301 |
http://www.example.com/dir/ | Objek "dir/index.html", dengan asumsi tidak ada objek nol byte untuk /dir/ | 200 |
Objek kosong nol byte, jika ada untuk /dir/. Lihat topik Pemecahan masalah untuk menghapus objek nol byte ini. | 301 |
Bucket dua objek
Misalkan bucket bernama www.example.com
telah dikonfigurasi sebagai situs
dengan setelan dan file berikut:
MainPageSuffix
= "main.html"NotFoundPage
= "404.html"- Bucket berisi dua objek yang dibagikan secara publik: "main.html" dan "404.html".
Tabel berikut menunjukkan konten yang disajikan untuk URL yang dipilih:
URL yang Diminta | Konten yang Disajikan | Kode respons HTTP |
---|---|---|
http://www.example.com http://www.example.com/ |
Objek "main.html". | 200 |
http://www.example.com/index.html | Objek "404.html". | 404 |
Jika sebuah objek dibagikan secara publik, Anda juga dapat melihat objek tersebut dengan URL:
http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
Misalnya, URL untuk objek index.html
adalah:
http://storage.googleapis.com/www.example.com/index.html
Untuk informasi selengkapnya tentang menggunakan data yang dapat diakses secara publik, lihat Mengakses Data Publik.
Tips untuk menangani bucket yang dikonfigurasi sebagai situs
Berikut beberapa tips yang perlu diingat saat menggunakan bucket untuk menghosting situs statis.
Menambahkan subdomain
Misalkan Anda juga ingin menyajikan konten di test.example.com
, dari bucket
yang berbeda dengan bucket yang menayangkan konten di www.example.com
. Untuk melakukannya:
Buat bucket baru untuk menyajikan konten tambahan Anda.
Jika Anda mengikuti tutorial di Menghosting situs statis untuk menyajikan konten Anda melalui HTTPS, edit load balancer di Konsol Google Cloud sebagai berikut:
- Untuk Konfigurasi backend, buat bucket backend baru
test-bucket
dengan memilih bucket yang baru Anda buat. - Untuk Aturan host dan jalur, tambahkan aturan baru sebagai berikut:
Hosts Paths Backends test.example.com /* test-bucket
Untuk Konfigurasi frontend, tambahkan port dan IP Frontend baru dengan nilai yang sama seperti konfigurasi pertama, kecuali nilai berikut:
- Untuk alamat IP, buat dan cadangkan alamat IP baru.
- Untuk Sertifikat, buat sertifikat SSL baru untuk
test.example.com
.
- Untuk Konfigurasi backend, buat bucket backend baru
Setelah memperbarui load balancer, tambahkan kumpulan data
A
baru ke layanan pendaftaran domain Anda menggunakan alamat IP konfigurasi frontend yang baru:NAME TYPE DATA test A IP_ADDRESS
Perilaku API
Konfigurasi situs MainPageSuffix
dan NotFoundPage
hanya digunakan
untuk permintaan yang masuk ke Cloud Storage melalui
pengalihan CNAME
atau A
. Misalnya, permintaan ke www.example.com
menunjukkan halaman indeks, tetapi permintaan yang setara ke
storage.googleapis.com/www.example.com
tidak.
Jadi, perilaku API untuk permintaan ke domain Cloud Storage, seperti
storage.googleapis.com/www.example.com
, dipertahankan. Misalnya, Anda
dapat tetap mencantumkan objek di bucket www.example.com
seperti yang Anda lakukan
untuk bucket lainnya. Untuk bucket www.example.com
, daftar
objek yang Anda terima mencakup 404.html
dan index.html
.
Menghosting aset statis untuk situs dinamis
Anda dapat menggunakan Cloud Storage untuk menghosting aset statis pada situs dinamis yang dihosting, misalnya, di Google App Engine atau di Google Compute Engine. Beberapa manfaat menghosting aset statis, seperti gambar atau file JavaScript dalam bucket meliputi:
Cloud Storage berperilaku seperti Jaringan Penayangan Konten (CDN) karena objek yang dapat dibaca secara publik disimpan dalam cache di jaringan Cloud Storage secara default.
Biaya bandwidth untuk mengakses konten biasanya lebih murah dengan Cloud Storage.
Beban di server web Anda berkurang saat menayangkan konten statis dari Cloud Storage.
Saat menghosting aset statis untuk situs dinamis, Anda tidak perlu membuat
data DNS dan mengarahkan ke bucket atau load balancer seperti untuk
situs statis. Misalnya, Anda dapat memiliki bucket bernama
www_example_com_assets
dengan aset yang sesuai dan dikonfigurasi untuk dibagikan
secara publik, lalu mengakses aset tersebut menggunakan domain Cloud Storage.
Misalkan Anda memiliki file JavaScript library.js
di bucket
www_example_com_assets
yang dibagikan secara publik, maka Anda dapat mengaksesnya sebagai
http://storage.googleapis.com/www_example_com_assets/library.js
.
Menyetel parameter cache
Anda dapat mengontrol bagaimana atau apakah aset situs di-cache dengan mengonfigurasi
metadata Cache-Control
. Umumnya, cukup tetapkan metadata kontrol cache
untuk objek yang dapat diakses semua pengguna anonim, yang merupakan persyaratan
untuk setiap objek yang disajikan dari bucket Cloud Storage sebagai bagian dari situs
statis.
Cloud Storage menerapkan setelan kontrol cache 3600 detik ke objek yang
dapat diakses semua pengguna anonim, kecuali jika Anda menentukan setelan kontrol cache
secara eksplisit. Baca Melihat dan Mengedit Metadata untuk mengetahui petunjuk cara menyetel
metadata objek, seperti Cache-Control
.
Anda juga dapat menggunakan Cloud CDN untuk menyimpan konten HTTP(S) eksternal yang di-load balanced ke dalam cache yang dekat dengan pengguna, yang biasanya mengurangi biaya penyajian. Untuk informasi selengkapnya, lihat Menyimpan ke dalam cache.
Memantau tagihan
Jika Anda menyajikan aset dari bucket yang dikonfigurasi sebagai situs statis atau menyajikan aset statis dari bucket untuk situs dinamis yang dihosting di luar Cloud Storage, Anda harus memantau tagihan untuk project yang berisi bucket tersebut. Penayangan konten menimbulkan biaya Cloud Storage untuk penyimpanan konten, penggunaan jaringan, dan operasi pengambilan. Untuk mengetahui detailnya, lihat halaman Harga Cloud Storage.
Anda juga dapat dikenai biaya jaringan jika menggunakan Load Balancer Aplikasi eksternal untuk menyiapkan HTTPS. Lihat Harga Jaringan untuk detail selengkapnya.
Contoh harga sederhana di halaman contoh harga dapat digunakan sebagai perkiraan untuk kasus penggunaan situs statis dengan traffic rendah. Namun, perlu diperhatikan bahwa contoh ini tidak memperhitungkan biaya terkait Load Balancer Aplikasi eksternal, yang sering kali menjadi biaya terbesar dalam hosting situs statis. Anda dapat menggunakan Kalkulator Harga untuk memperkirakan biaya berdasarkan proyeksi penggunaan.
Jika saat ini Anda adalah pengguna Google Cloud, Anda dapat mendapatkan perincian biaya project di halaman penagihan.
Pemecahan masalah
Lihat Pemecahan masalah untuk masalah umum terkait penggunaan bucket yang dikonfigurasi untuk menyajikan konten situs statis.
Langkah selanjutnya
- Coba solusi memulai Google Cloud yang menggunakan Cloud Storage.
- Pelajari opsi penayangan web lainnya di Google Cloud.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis