İçeriğe atla

COMET (programlama)

Comet, İnternet sayfalarında kullanıcı tarayıcısından herhangi bir istek olmamasına karşın, web sunucusundan kullanıcıya veri göndermeyi sağlayan bir programlama tekniğidir.

Neden Comet?

Geleneksel olarak web sayfaları sadece, ziyaretçi herhangi bir istekte bulunduğunda ekrana taşınır. Ziyaretçinin her isteğinde, web tarayıcıları bir sunucu istikametinde bir HTTP bağlantısını başlatır ve istekte bulunulan verinin elde edilmesini müteakip bağlantıyı keser. Bu yöntemin dezavantajı ise içeriği güncellenmiş veya değiştirilmiş bir sayfanın, ancak ziyaretçi gerçek anlamda tarayıcısındaki sayfayı yenilediğinde ya da yeni bir sayfaya eriştiğinde görüntülenebilmesidir.

Bu problemin çözümünde, web sayfalarının belli bir parçasındaki değişiklikler için Ajax kullanılarak elde edilen veriler kullanılmaktaydı. Tabii ki bununla beraber toplamda transfer edilen veri miktarı ve istek-sonuç işlemi sürelerinde azalma yaşanırken; aynı anda isteklerin sayısıyla eş zamanlı olarak, sonuçları üreten web uygulamalarının toplam karşılama miktarlarında da artış meydana gelmiştir. Dahası, asenkronize arka plan veri transferleri kullanıldığında, ziyaretçiler toplamda elde edilen verinin ancak bir kısmını kullanabildiği gibi, web uygulamalarının karşılama/cevap verme sıklığı daha da artmaktadır.

Bu tür bir uygulamada problemin getirdiği sıkıntılardan hariç olarak; sunucunun veri gönderebilmesi için, öncelikle ziyaretçinin bir istekte bulunması gerekmektedir. Bu problem, ziyaretçiye veri aktarılmadan önce sunucu tarafında meydana gelen bir olayın beklenmesi ile çalışan uygulamaların önündeki en büyük engeli teşkil etmektedir. Örneğin ziyaretçi sunucuya birtakım veriler gönderir, bu veriler sunucuda işlenir fakat işlem sonucunda veriyi gönderen ziyaretçinin dışındakilerin bu süreç ve sonucunda elde edilen çıktıdan haberleri olamaz -diğer ziyaretçilerin talebi olmaksızın-.

Çözüm olarak sunucudaki bir hareketin/sonucun varlığını aralıklarla yoklayacak bir uygulama tasarlanabilirdi fakat bu pek de düzenli bir çözüm olmayacaktır. Çünkü sürekli sunucuyu yoklayan bir uygulama, söz konusu asıl hareketin/sonucun tamamlanmasında zamanın israf edilmesini ve bunun sonucunda direkt olarak işlemi gerçekleştiren uygulamanın karşılama/cevap verme yükünü etkileyecektir. Ek olarak tabii ki bant genişliğinde de fazladan bir artış söz konusudur.

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

<span class="mw-page-title-main">İnternet sitesi</span> tek bir web alanından sunulan ilgili web sayfaları kümesi

Web sitesi, Ortak bir alan adı ile tanımlanan ve en az bir web sunucusunda yayınlanan web sayfaları ve ilgili içeriklerden oluşan bir koleksiyondur. Web üzerindeki sayfalar; metin, görsel ve animasyon şeklinde ziyaretçisine bilgi aktaran veya hizmet sunan sayfaların tümünü kapsayan bir doküman topluluğudur. Ziyaretçiler bir web sitesine, HTTP veya HTTPS protokollerinde aşağıdaki bileşenlerden oluşan benzersiz bir adresi kullanarak erişirler:

<span class="mw-page-title-main">Vekil sunucu</span>

Vekil sunucu veya yetkili sunucu, İnternet'e erişim sırasında kullanılan bir ara sunucudur. Bu durumda, örneğin bir ağ sayfasına erişim sırasında doğrudan bağlantı yerine:

<span class="mw-page-title-main">İstemci-sunucu</span>

İstemci-sunucu, istemciyi sunucudan ayıran bir ağ mimarisidir. Her bir istemci yazılımı, sunucuya ya da uygulama sunucusuna isteklerini (request) gönderir.

URL, İnternet'te bir kaynağa rastgelen, standart bir formata uygun bir karakter tertibidir.

AJAX, İnternet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adıdır.

<span class="mw-page-title-main">World Wide Web</span> internet kullanarak ulaşılan, birbirine bağlı belgelerden oluşan küresel sistem

World Wide Web, Dünya Çapında Ağ (kısaca WWW veya Web), İnternet üzerinde yayınlanan birbirleriyle bağlantılı hiper-metin dokümanlarından oluşan bir bilgi sistemidir. Bu dokümanların her birine Web sayfası adı verilir ve Web sayfalarına İnternet kullanıcısının bilgisayarında çalışan Web tarayıcısı adı verilen bilgisayar programları aracılığıyla erişilir. Web sayfalarında metin, imaj, video ve diğer multimedya ögeleri bulunabilir ve diğer bağlantı ya da link adı verilen hiper-bağlantılar ile başka Web sayfalarına geçiş yapılabilir.

<span class="mw-page-title-main">Yük dengeleme</span>

Yük dengeleme; işi, iki ya da daha fazla bilgisayar, işlemci, sabit disk ya da diğer kaynaklar arasında paylaştırma teknolojisidir. Bu teknolojiyi kullanarak en iyi kaynak kullanımı, en yüksek işlem hacmi, en düşük cevap süresi sağlanabilir; oluşabilecek aşırı yüklemeden (overload) kurtulunabilir.

Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden (İVTYS) bir şekilde farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır. Bu veri depolarının sabit tabela düzenlerine ihtiyaçları olmayabilir, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir. Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek denir. Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür. Bu kavram aynı zamanda SQL ve Daha Fazlası olarak da adlandırılmaktadır.

Tünel protokolü, bir ağ protokolü farklı bir yük-taşıma protokolü içerdiğinde bilgisayar ağ bağlantısı, bir tünel protokolü kullanır. Tünel protokolü kullanılarak, uyumsuz olan bir iletim protokolü üzerinde bir yük-taşıma taşınabilir ya da güvenilmeyen ağlarda güvenli bir yol oluşumu sağlanabilir.

HTTP tünelleme, kapsüllenmiş http protokolünü kullanan çeşitli ağ protokollerini çalıştırarak bağlantı gerçekleştiren bir tekniktir. Ağ protokolleri genelde TCP/IP ailesine ait olan protokollerdir. HTTP protokolü dolayısıyla, ağ protokolü tünnellenmiş olan kanal için kılıf (wrapper) olarak davranır.

<span class="mw-page-title-main">SQL enjeksiyonu</span>

SQL enjeksiyonu, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir; burada saldırgan SQL dili özelliklerinden faydalanarak standart uygulama ekranındaki ilgili alana yeni SQL ifadelerini ekler.. SQL enjeksiyonu, uygulamaların yazılımları içindeki bir güvenlik açığından faydalanır, örneğin, uygulamanın kullanıcı giriş bilgileri beklediği kısma SQL ifadeleri gömülür, eğer gelen verinin içeriği uygulama içerisinde filtrelenmiyorsa veya hatalı şekilde filtreleniyorsa, uygulamanın, içine gömülmüş olan kodla beraber hiçbir hata vermeden çalıştığı görülür. SQL enjeksiyonu, çoğunlukla web siteleri için kullanılan bir saldırı türü olarak bilinse de SQL veri tabanına dayalı tüm uygulamalarda gerçeklenebilir.

REST, Web protokolleri ve teknolojilerini kullanan bir dağıtık sistemdir. REST prensiplerini sağlayan sistemler, RESTful olarak sıfatlandırılır. Temsilî Durum Aktarımı ismindeki temsilî, verinin temsilini kastetmekte olup onunla ilgili durumun aktarılması olarak düşünülebilir.

Bir Tıklama Akışı, bir bilgisayar kullanıcısının web'de gezinirken veya başka bir yazılım uygulamasını kullanırken tıkladığı ekran bölümlerinin kaydedilmesidir. Kullanıcı web sayfasında veya uygulamada herhangi bir yeri tıklattığında, eylem bir istemcide veya web sunucusunda, ayrıca muhtemelen web tarayıcısı, yönlendirici merkezinde, proxy sunucusu veya reklam sunucusunda günlüğe kaydedilir. Tıklama Akışı analizi, web etkinliği analizi, yazılım testi, pazar araştırması ve çalışan verimliliğini analiz etmek için yararlıdır.

<span class="mw-page-title-main">WebSocket</span> bilgisayar iletişim protokolü

WebSocket, tek bir TCP bağlantısı üzerinden tam çift yönlü iletişim kanalı sağlayan bir bilgisayar iletişim protokolüdür. WebSocket protokolü IETF tarafından 2011 yılında RFC 6455 ile standart hale getirilmiş ve WebIDL içerisindeki WebSocket API W3C tarafından standart hale getirilmektedir.

Cross-Origin Resource Sharing (CORS), bir web sayfası üzerindeki bazı kaynakların, kaynağın sunulduğu alan adının dışındaki bir alan adından istenebilmesine izin veren bir mekanizmadır. Bir web sayfası, özgürce kökler arası resimleri, stil sayfalarını, betikleri ve videoları ekleyebilmektedir. Ancak, bazı “alanlar arası” istekler, özellikle Ajax istekleri, Aynı Kök Politikası nedeniyle varsayılan olarak yasaklanmıştır.

Siteler arası betik çalıştırma, genellikle web uygulamalarında görülen, genellikle HTML enjeksiyonu zafiyetiyle birlikte ortaya çıkan veya Java Script kullanan bazı aplikasyonlarda bulunan bir güvenlik açıklığıdır. XSS, diğer kullanıcılar tarafından görüntülenen web sayfalarına istemci taraflı Java Script kodunun enjekte edilmesine imkân verir. Siteler arası betik çalıştırma açıklığı, saldırganlar tarafından aynı kök politikası gibi bazı erişim kontrollerini atlatmak ve hedef adresin oturum katmanını ele geçirmek için kullanılabilmektedir. Web sayfaları üzerinde gerçekleştirilen siteler arası betik çalıştırma saldırıları, 2007 itibarıyla Symantec'in raporladığı tüm güvenlik açıklıklarının yaklaşık olarak %84'ünü oluşturmaktadır. Zafiyet içeren sitenin işlediği verinin hassasiyetine ve site sahibi tarafından uygulanan güvenlik tedbirlerine bağlı olarak, etkisi ufak bir aksamadan önemli bir güvenlik riskine kadar değişebilmektedir.

<span class="mw-page-title-main">Web servis</span> Web servis, elektronik cihaz tarafından başka bir elektronik cihaza sunulan, World Wide Web üzerinden birbirleriyle iletişim kuran yapıların bütününe verilen isimdir.

Web servis, elektronik cihaz tarafından başka bir elektronik cihaza sunulan, World Wide Web üzerinden birbirleriyle iletişim kuran yapıların bütününe verilen isimdir. Bir Web servisinde, HTTP gibi bir Web teknolojisi orijinal olarak insandan makineye iletişim için tasarlanmıştır. HTML, XML, JSON gibi makine tarafından okunabilen dosya formatlarını aktarmak için kullanılır.

HTTP/2 Server Push, HTTP/2 uyumlu bir sunucunun kaynakları, istemci talep etmeden önce HTTP/2 uyumlu bir istemciye göndermesine izin verir. Çoğunlukla, kaynakları önceden yüklemede yardımcı olabilecek bir performans tekniğidir.

<span class="mw-page-title-main">Web şablon sistemi</span>

Web yayıncılığı'ndaki web şablon sistemi, web tasarımcılarının ve geliştiricilerin, bir aramanın sonuçları gibi özel web sayfa'larını otomatik oluşturmak için web şablonları ile çalışmasına olanak tanır. Bu, dinamik öğeleri web isteği parametrelerine dayalı olarak tanımlarken statik web sayfası öğelerini yeniden kullanır. Web şablonları statik içeriği destekleyerek temel yapı ve görünüm sağlar. Geliştiriciler içerik yönetim sistemlerinden, Web uygulama iskeletlerinden ve HTML düzenleyicilerinden şablonları kullanabilir.