Penulis: Fenng |. Anda dapat mencetak ulang. Saat mencetak ulang, pastikan untuk menunjukkan sumber asli dan informasi penulis artikel dan pernyataan hak cipta dalam bentuk hyperlink .html
Cal Henderson adalah salah satu pengembang website Flickr yang terkenal. Dalam artikel berjudul Melayani JavaScript dengan Cepat, ia memperkenalkan teknik untuk mengoptimalkan aplikasi situs Flickr. Saya merasa mendapat banyak manfaat dengan membacanya. "Kunyah roti orang lain", rangkum isi utama artikel.
Flickr adalah situs perwakilan Web 2.0. Selain pengoptimalan konten yang umum terjadi pada situs Web umum, masalah jaringan yang dihadapi juga harus secara fleksibel menangani kompleksitas penerapan dan distribusi yang disebabkan oleh seringnya perubahan dalam JavaScript dan CSS.
Pertanyaan pertama yang dihadapi ketika mengatur strategi ukuran file adalah apakah akan memasukkan semua JavaScript dan CSS ke dalam satu file, atau membaginya menjadi beberapa file? Dari perspektif pengurangan permintaan jaringan, yang pertama lebih baik dan yang kedua lebih buruk. Namun, dari perspektif paralel, baik IE dan Firefox hanya dapat meminta dua sumber daya dari satu domain secara bersamaan secara default. Hal ini akan membawa pengalaman buruk bagi pengguna dalam banyak kasus - semua file harus diunduh dari halaman yang layak menggunakan kompromi - membagi JavaScript dan CSS menjadi beberapa sub-file sambil menjaga jumlah file sekecil mungkin. Hal ini membawa kompleksitas dalam pengembangan, namun manfaat kinerjanya sangat besar.
Masalah optimasi kompresi Tidak ada keraguan bahwa mengompresi konten situs adalah metode optimasi Web yang relatif umum. Namun, tidak selalu mungkin mencapai efek yang diinginkan. Alasannya adalah modul mod-gzip tidak hanya menghabiskan sumber daya CPU sisi server, tetapi juga menghabiskan sumber daya CPU sisi klien. Selain itu, file sementara yang dibuat setelah mod_gzip mengkompres file tersebut ditempatkan pada disk, yang juga akan menyebabkan masalah serius untuk disk IO. Flickr Modul mod_deflate yang didukung oleh Httpd 2.x dan yang lebih baru digunakan. Semua operasi kompresi dilakukan di memori. mod_deflate tidak tersedia di Httpd 1.x, tetapi Anda secara tidak langsung dapat meningkatkan kinerja dengan membuat disk RAM.
Tentu saja mod_gzip tidak sia-sia, tetap bermanfaat untuk file yang sudah dikompres, apalagi saat menggunakan kompresi juga harus memperhatikan strateginya kompresi tidak dapat mencapai banyak Manfaat). Flickr hanya mengompresi JavaScript dan CSS. Versi mod_gzip yang lebih baru dapat secara otomatis menangani file yang dikompresi dengan mengonfigurasi opsi mod_gzip_update_static. Cal juga menunjukkan bahwa fitur ini akan menyebabkan masalah pada beberapa versi browser yang lebih
lama kompresi Salah satu cara utamanya adalah kompresi konten. Untuk JavaScript, Anda dapat melakukannya dengan mengurangi komentar, menggabungkan spasi, menggunakan sintaksis yang ringkas, dan trik lainnya (semua skrip Google sangat sulit dibaca dan sangat ringkas, tentu saja dengan ide serupa). pemrosesan dengan cara ini JavaScript mungkin memiliki banyak tanda kurung yang sulit diurai. Flickr menggunakan Kompresor Dojo untuk membuat pohon parsing. Kompresor Dojo memiliki overhead yang sangat rendah dan transparan bagi pengguna akhir. Metode pemrosesan JavaScript telah diperkenalkan, dan pemrosesan CSS relatif sederhana. Melalui penggantian ekspresi reguler sederhana (seperti mengganti beberapa spasi dengan satu karakter spasi), Anda dapat bangkit hingga rasio kompresi 50%.
Optimasi Caching Pengembang Flickr telah memanfaatkan sepenuhnya mekanisme Etag dan Last-Modified yang ditentukan oleh spesifikasi HTTP 1.1 untuk meningkatkan efisiensi Caching. Perlu dicatat bahwa Cal memperkenalkan trik e-Tag dalam kondisi penyeimbangan beban. Anda dapat Mengatur Apache untuk mendapatkan E-Tag melalui waktu penyesuaian file dan ukuran file. Tentu saja hal ini belum sempurna, karena akan berpengaruh jika-dimodifikasi-sejaknya.
Penggunaan mod_rewrite yang fleksibel Dikatakan bahwa aplikasi website Flickr dibangun setiap hari (Daily Build). Hal ini tidak mungkin terjadi tanpa mekanisme yang fleksibel. Terlebih lagi, di situs seperti Flickr, menyinkronkan modifikasi konten adalah hal yang memusingkan. Senjata mereka adalah penggunaan mod_rewrite yang fleksibel. Dengan mengonfigurasi aturan penulisan ulang URL, mudah untuk beralih ke lingkungan yang berbeda. Kedengarannya sangat sederhana, tetapi betapa mudahnya melakukannya tanpa keahlian teknologi web tertentu?!
Melalui penerapan metode utama ini, kita telah melihat Flickr yang seperti mimpi dan berkinerja tinggi.
BTW: Karena Flickr tidak memiliki server di China, kecepatan akses untuk pengguna daratan tidak dapat disebutkan :(
--End.
Artikel ini [Tips Optimasi Aplikasi Web untuk Pengembang Flickr] berasal dari dbanotes.net