murattunalı.

Statik üretim mi sunucu render mı.

Statik üretimde HTML derleme anında hazırlanır; sunucu render'da her istekte yeniden üretilir — fark hızda değil, içeriğin ne sıklıkla değiştiğindedir.

Karar teknoloji tercihi gibi görünür ama aslında bir içerik sorusudur: sayfa ne sıklıkla değişiyor ve her ziyaretçi için farklı mı? Bu iki sorunun cevabı mimariyi belirler; hız ise sonuçtur, sebep değil.

Statik üretimin gerçek kazancı

Statik bir sayfada sunucunun yaptığı tek iş bir dosyayı göndermektir. Veritabanı sorgusu yok, şablon derlemesi yok, uygulama başlatma yok. İlk bayt süresi bu yüzden düşük olur ve daha önemlisi ÖNGÖRÜLEBİLİR olur — trafik arttığında değişmez.

İkinci kazanç arıza yüzeyinin darlığıdır. Çalışan bir uygulama sunucusu olmadığında çökecek bir uygulama, dolacak bir bağlantı havuzu ve güncellenecek bir çalışma zamanı da yoktur. Bu sitenin ve yönettiği üç projenin ölçülen ilk bayt süreleri 300 milisaniyenin altında ve bu bir optimizasyon çabasının değil mimarinin sonucu.

Sunucu render'ın gerçek kazancı

Kişiselleştirme statik üretimle sayfa düzeyinde yapılamaz. Kullanıcıya özel bir panel, oturuma bağlı bir sepet ya da yetkiye göre değişen bir liste her istekte üretilmelidir. İstemciden doldurmak mümkündür ama o zaman içerik ilk boyamada yoktur ve arama motoru için de görünmez.

İkinci kazanç tazeliktir. Stok durumu, sıra numarası ya da yayın akışı gibi dakikalık değişen veride derleme adımı bir gecikme kaynağıdır. Burada doğru soru «hangisi daha hızlı» değil, «bayat içerik ne kadar maliyetli» sorusudur.

Bu sitede hangisi ve neden

Bu site tamamen statik üretiliyor: içerik seyrek değişiyor, kişiselleştirme gerekmiyor ve bütçe hedefleri eklenti katmanı olmadan korunuyor. Tek dinamik uç nokta iletişim formu — o da bir işlev olarak ayrı çalışıyor, sayfaları etkilemiyor. Takasın tam listesi ve ilk bayt süresi ayrı yazıldı.

Ölçüt

  1. HTML ne zaman üretilir — Statik üretim: Derleme anında, bir kez · Sunucu render: Her istekte
  2. İlk bayt süresi — Statik üretim: Dosya sunumu — tipik olarak en düşük · Sunucu render: Üretim süresi eklenir; önbellekle azaltılabilir
  3. Kişiselleştirme — Statik üretim: Sayfa düzeyinde yok — istemcide yapılır · Sunucu render: Doğal: istek başına farklı içerik
  4. İçerik tazeliği — Statik üretim: Yeni derleme gerektirir · Sunucu render: Anında
  5. Ölçeklenme — Statik üretim: Kenar önbelleğinden sunulur, sunucu yükü sabit · Sunucu render: Trafikle birlikte sunucu yükü artar
  6. Altyapı — Statik üretim: Statik dosya barındırma yeterli · Sunucu render: Çalışan bir uygulama sunucusu gerekir
  7. Arıza yüzeyi — Statik üretim: Dar — sunulacak dosya zaten var · Sunucu render: Geniş — veritabanı, uygulama, önbellek katmanları
  8. Uygun olduğu yer — Statik üretim: Seyrek değişen içerik: tanıtım, portfolyo, belge · Sunucu render: Sık değişen ya da kullanıcıya özel içerik: panel, sepet, akış

Statik site her zaman daha mı hızlı?

İlk bayt süresinde tipik olarak evet, çünkü üretim adımı yoktur. Ama iyi önbelleklenmiş bir sunucu render'ı da hızlı olabilir; fark mimaride değil, önbelleğin isabet oranındadır.

İçerik sık değişiyorsa statik kullanılamaz mı?

Kullanılabilir ama maliyeti artar: her değişiklik bir derleme demektir. Günde birkaç kez içerik giren bir yayın için bu makul, dakikada bir güncellenen bir akış için değil.

İkisi bir arada olur mu?

Olur ve yaygındır. Sayfaların çoğu statik üretilir, yalnız kişiselleştirme gereken parçalar istemciden ya da bir uç noktadan doldurulur. Bu sitede iletişim formu tam olarak öyle çalışıyor.