HAR (http Archive Format) Nedir?

Kısa adı http archive format olan HAR, web tarayıcısı ile web sitesi arasındaki bilgileri izlemek için kullanılan bir formattır. Bir HAR dosyası öncelikle yavaş yüklemeden kaynaklanan performans sorunlarını ve sayfa oluşturma sorunlarını tanımlamak için kullanılır. HAR dosyası, tarayıcı tarafından yüklenen her kaynağın yanı sıra her kaynağın zamanlama bilgisini izler.

                                convrawdata

HAR dosyası bileşenleri nelerdir?

HAR dosyası bilgileri daha kolay görselleştirebilmek için JSON biçiminde saklar; bunun için de HAR Viewer  gibi araçlar kullanır. HAR dosyasının içinde birkaç zamanlama bileşeni vardır. Google’ın Ağ Performansı  makalesine dayanarak, aşağıda Google Chrome’un geliştirici araçlarından oluşturulan bir HAR dosyasında bulunabilecek her bir bileşene göz atalım.

Durma / Engelleme: İsteğin gönderilmeden önce bekleyerek geçirdiği süre. Bu, kurulan bir bağlantının yeniden kullanım için uygun hale gelmesini beklerken harcanan zamanı da içerir.

Proxy Negotiation: Proxy sunucusu bağlantısıyla görüşmek için harcanan süre.

DNS Araması: DNS aramasını gerçekleştirmek için harcanan süre.

İlk Bağlantı / Bağlantı: Bağlantı kurmak için geçen süre.

SSL: Bir SSL anlaşmasının tamamlanması için harcanan zaman.

Gönderilen / Gönderilen İstek: Şebeke isteğinde bulunmak için harcanan süre.

Bekleme (TTFB): İlk Bayt Süresi olarak da bilinen ilk yanıt için harcanan süre.

İçerik İndirme / İndirme: Yanıt verilerini almak için harcanan süre.

                           

HAR Dosyalarını neden kullanmalıyız?

Aslında bunu çok geniş yelpazede, çok amaçlı olarak ele alabiliriz. Kullanıcıların web sitelerindeki performans problemlerini; verilerin aktarım hızının düşmesine neden olan bottleneck (darboğazlar), yavaş yüklenme ve işlemciye çok güç bindirmeye sebep olan sayfa render işlemleri şeklinde sıralayabiliriz. Tüm bunlar site performanslarının verimliliğini olumsuz etkiler. Bu sorunları çözmek için HAR dosyaları kontrol edilmelidir.

HAR Dosyası nasıl oluşturulur?

Hangi tarayıcıyı kullandığınıza bağlı olarak, bir HAR dosyası oluşturmanın birkaç yolu vardır. IE kullanıyorsanız, http İzleme’yi indirmeniz gerekir. Kurduktan sonra, yakalamak istediğiniz davranışı kaydetmeniz ve ardından yakalamayı HAR formatına aktarmanız gerekir. Firefox kullanıyorsanız, Geliştirici Araçları'nı (Developer Tools) açıp Ağ sekmesini (Network Tab) seçebilirsiniz. Buradan geçerli sekmenin HTTP oturumunun yakalanmasına izin verebilirsiniz. Çekiminizi yaptıktan sonra, “HAR” ı tıklayarak ve “Tümünü HAR olarak Kaydet” i (Save All As HAR) seçerek HAR dosyasına aktarabilirsiniz. Google Chrome kullanıyorsanız, DevTools'u açıp Ağ sekmesini seçebilirsiniz. Geliştirme araçları penceresinin sol üstündeki yuvarlak düğmenin kırmızı olduğundan emin olun ve Kayıtları Koru (Preserve Logs) seçeneğini seçin. Ne yakalamak istediğinizi yeniden oluşturduktan sonra, HAR dosyasını sağ tıkla “İçerikle HAR olarak kaydet” (Save as HAR with content) seçeneğini seçerek kaydedebilirsiniz.

                         save-as-har-with-content

HAR Dosyası nasıl analiz edilir?

HAR dosyası, bileşenleri dahil olmak üzere birçok farklı şekilde görüntülenebilir;

* Tarayıcı ile
* HAR Viewer kullanarak
* Web sitesi hız testi aracı kullanarak.

Bu yöntemlerin tümü, her kaynağın yüklenmesi için geçen sürenin görsel bir sunumunu sağlar. Bu bilgilerle sayfa yükleme darboğazlarını azaltma ve site hızını artırma potansiyelinin nerede olduğunu analiz edebiliriz. HAR dosyasını analiz ederken dikkat edilmesi gereken genel noktalar şunlardır:

1- Önbelleğe alınmayan kaynaklar: Statik öğelerin her sayfa yüklendiğinde yeniden yüklenmesi gerekmez. Her seferinde bunu yapmak, sayfa yükleme performansına etki edecektir.
2- En uzun yükleme süresine sahip kaynaklar: Kaynağın dosya türüne bağlı olarak, kaynak sıkıştırarak ve / veya kullanılmayan öğeleri birleştirerek veya kaldırarak yükleme süreleri azaltılabilir.
3- Uzun DNS arama süreleri: DNS arama süreleri birkaç faktöre bağlı olarak değişir. Ancak, üçüncü taraf web sitelerinden çok fazla kaynak yüklüyse, bu kaynakların DNS arama süresini artırabilir ve böylece sitenizin genel hızınının azalmasına neden olabilir. Bu durumda, önbellekte olmalarını tercih ediyorsanız, bu kaynakların bazılarını kaynak sunucunuza veya CDN’ye taşımayı düşünebilirsiniz.