Bir içerik yönetim sistemine yöneltilecek en basit soru şu: bir ziyaretçi sayfayı açtığında sunucuda ne olur?
Yaygın sistemlerde cevap uzun. PHP çalışır, veritabanına onlarca sorgu gider, eklentiler kendi işlerini yapar ve HTML o an bir araya getirilir. Sonra bu yükü hafifletmek için bir önbellek eklentisi kurulur; önbelleğin ne zaman temizleneceği de ayrı bir dert olur.
HisarBlok'ta cevap kısa: hazır bir HTML dosyası gönderilir. O kadar.
Nasıl çalışıyor
Yönetim paneli dinamiktir ve giriş arkasındadır. Bir sayfayı kaydettiğinizde, etkilenen dosyalar o anda üretilip sitenin köküne yazılır: sayfanın kendisi, göründüğü listeler, etiket sayfaları, site haritası ve RSS beslemesi. Ziyaretçi bu dosyaları okur. Kaydetme anında bir iş yapılır, okuma anında yapılmaz.
Bunun üç sonucu var:
- Hız bir ayar değil. Önbellek eklentisi yok, çünkü temizlenecek bir önbellek yok. Web sunucusu dosyayı, hatta önceden sıkıştırılmış kopyasını doğrudan gönderir.
- Saldırı yüzeyi küçük. Anonim bir ziyaretçinin isteği kod çalıştırmıyorsa, o istek üzerinden kod çalıştırmak da çok zorlaşır.
- Trafik artışı sorun olmaz. Statik dosya sunmak bir web sunucusunun en iyi yaptığı iştir.
Peki dinamik gereken yerler?
Her şey statik olamaz. Bir iletişim formu, bir yorum, bir forum mesajı ya da üye girişi, doğası gereği ziyaretçiden veri alır. HisarBlok bunları tek, dar ve sertleştirilmiş bir giriş noktasından geçirir. Formlar sayfaya statik olarak gömülür; yalnız gönderim bu kapıya gelir. Kapıda hız sınırı vardır, her form jetonu üretildiği sayfaya bağlıdır ve ziyaretçiye oturum ya da çerez verilmez.
Bedeli ne?
Dürüst olmak gerekirse, bu yaklaşımın bir bedeli var:
- Tema ya da menü gibi sitenin tamamını ilgilendiren bir değişiklikte bütün sayfalar yeniden üretilir. Küçük ve orta boy sitelerde bu saniyeler sürer; çok büyük sitelerde daha uzun sürebilir.
- Kişiye özel içerik (örneğin "merhaba, Ayşe") sayfanın kendisine yazılamaz. Bunun gibi parçalar sayfanın içinde küçük adacıklar olarak, ayrı bir istekle doldurulur.
- Sunucuda yazma izni gereken bir klasör vardır. Kurulumda bunu doğru ayarlamak önemlidir; yanlış ayarlanırsa HisarBlok bunu gizlemez, açıkça söyler.
Bizim için bu bedel, karşılığında aldığımız hıza ve güvenliğe değer.
Bu site
Okuduğunuz yazı da bu yöntemle yayımlandı. kodhisar.com HisarBlok ile üretiliyor; yazıyı panelde kaydettik, sistem bu sayfayı ve blog listesini diske yazdı. Siz sayfayı açtığınızda sunucuda PHP çalışmadı.