Keep-alive aynı TCP bağlantısıyla dosyaları göndererek hızı artırmak için kullanılır. Bu rehberde keep-alive’ı etkinleştirmek için 4 farklı yöntem öğreneceksiniz. Keep-Alive, bir ziyaretçinin tarayıcısının, her dosya için farklı isteklerde bulunmak yerine, kalıcı bir TCP bağlantısı üzerinden tüm içeriği (JavaScript, CSS, resimler, videolar vb.) indirmesine olanak tanır. Ziyaretçinizin tarayıcısı her şeyi tek bir kalıcı HTTP bağlantısı yoluyla alabileceğinden, bu, bir hız ve performans artışı sağlayacaktır. Kısacası Keep-Alive, bir web sunucusuyla tarayıcı arasındaki iletişim kalıbı olup, istek miktarını önemli ölçüde azaltma ve bir web sayfasını hızlandırma olanağı sağlar. Keep-Alive’ın farkını ve faydalarını anlamaya yardımcı olacak bir resim:
Kısacası, Keep-Alive, web sitenizin hızını aynı anda artırırken, kaynak kullanımınızı azaltmanın mükemmel bir yoludur.
Bu rehbere başlamadan önce aşağıdakilere ihtiyacınız var:
Öncelikle, Keep-Alive’in sunucunuzda etkin olup olmadığını kontrol etmek için GTMetrix gibi bir araçla bir web sitesini analiz etmelisiniz. Bir test sitesinin analizinden sonra elde edilen sonuçlar:
Bazı sunucularda veya barındırma sağlayıcılarında Keep-Alive varsayılan olarak etkindir. Analiziniz %100 puanını verirse, yapılması gereken başka bir işlem yoktur.
Keep-Alive’ı etkinleştirmenin birkaç yolu vardır ve hepsi sunucunuza veya hosting sağlayıcınıza bağlıdır. İşte birkaç seçenek:
Keep-Alive özelliğini etkinleştirmek için aşağıdaki kodu .htaccess
dosyanıza eklemeniz yeterlidir. .htaccess
kullanarak Keep-Alive özelliğini etkinleştirmek sunucu ayarlarını geçersiz kılacak ve kalıcı bağlantıyı etkinleştirilecektir.
<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
Bu yöntem çoğu Linux paylaşımlı hosting sağlayıcıları üzerinde çalışmalıdır. .htaccess
dosyasını nerede bulacağınızı bilmiyorsanız, bu rehbere göz atın.
Apache yapılandırma dosyasına erişebiliyorsanız, buradan uzantıyı etkinleştirebilirsiniz. Yapılandırma şu şekilde görünmelidir:
# # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 50 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 10
httpd.conf dosyasını bulamazsanız, komut satırında aşağıdaki komutu çalıştırın:
find / -name httpd.conf
Keep-Alive Site Hızlandırma
Keep-Alive, NGINX’te varsayılan olarak etkindir, ancak bazı durumlarda devre dışı bırakılabilir. HttpCoreModule kullanarak etkinleştirebilirsiniz. keepalive_disable
değerini arayın; bu, birçok durumda Keep-Alive’ın nçalışmama sebebidir. Etkinleştirmeden, herhangi bir değişiklik yapmadan önce devre dışı bırakılmış olmasının sebebini öğrenin.
Windows tabanlı bir sunucu kullanıyorsanız, Keep-Alive uzantısını komut satırını kullanarak kolayca etkinleştirebilirsiniz.
Aşağıdaki komut etkinleştirecektir:
appcmd set config /section:httpProtocol /allowKeepAlive:true
Eğer devre dışı bırakmak isterseniz:
appcmd set config /section:httpProtocol /allowKeepAlive:false
Birkaç ekstra seçenek için Microsoft’un resmi rehberine de göz atabilirsiniz.
Keep-Alive tamamen etkinleştirildikten sonra, her şeyin hazır olup olmadığını görmek için GTMetrix veya herhangi bir web sitesi performans analizi aracıyla başka bir tarama yapın. Keep-Alive etkinleştirikdikten sonraki sonuçlar:
HTTP header’larını kontrol ederek Keep-Alive’ın etkin olup olmadığını kontrol etmek de mümkündür. Bu, terminal üzerinden aşağıdaki komutu kullanarak yapılabilir:
curl -I http://example.com/example.php
Bir örnek:
curl -i http://hostinger.web.tr/index.php
Sonuçlar:
HTTP/1.1 301 Moved Permanently Connection: keep-alive Server: nginx Date: Fri, 23 Dec 2016 18:58:14 GMT Content-Type: text/html Content-Length: 178 Location: https://www.hostinger.web.tr/index.php
Connection: keep-alive
kısmı etkin olduğunu gösterir.
Keep-Alive Site Hızlandırma
Özetlemek gerekirse, web siteniz için Keep-Alive özelliğini etkinleştirmek hız ve performansı artırmanın mükemmel bir yoludur. Kalıcı TCP bağlantısı, daha hızlı yükleme süresi ve daha yüksek verimlilik sağlayarak ziyaretçilerinizin mutlu tutar.