SORU
23 EYLÜL 2012, Pazar


HTTP Yoklama, Uzun Yoklama, HTTP Akışı ve WebSockets anlayışım

Üzerinde o kadar ÇOK mesaj ve web soru benim başlık anahtar kelime ile ilgili okuma ve onlardan çok şey öğrendim. Okuduğum sorulardan bazıları genel kavramlar üzerinde yoğunlaşırken özel uygulama zorlukları ile ilgilidir. Ben sadece kavramları ve teknolojileri X ve Y teknoloji icat bitmişti neden muhakeme anladım emin olmak istiyorum. İşte başlıyorum:

Yoklama Http:Temelde AJAX, XmlHttpRequest kullanarak.

Uzun Yoklama Http:AJAX ama sunucu bir güncelleme, en kısa sürede sunucu bir güncelleme var. onu gönderir ve istemci başka bir istek gönderebilir sürece tepki için tutar. Dezavantajı geri gönderdiğini ileri ek yük neden olmak için gereken ek başlık verilerdir.

İzle, Http:Benzer uzun yoklama ama sunucu yanıt ile bir başlık ile "Transfer Kodlama: parçalı" ve dolayısıyla, gerek yok başlatmak için yeni bir istek her zaman sunucu gönderir bazı veriler (ve dolayısıyla kayıt ek üstbilgi yükü). Dezavantajı burada "" ve bu veri yapısı birden fazla parçalar sunucu tarafından gönderildi. arasındaki farkı anlamak anlamak zorundayız yani

Java Applet, Flash, Silverlight:Tcp/soket sunucularına bağlanmak için yeteneği ıp ama eklentileri olduğundan, geliştiriciler onlara yük olmak istemiyorum sağlarlar.

WebSockets:aşağıdaki şekilde yukarıdaki yöntemlerin kısa geliş adresi için çalışan yeni API:

  • Java, Flash ya da Silverlight gibi eklentiler WebSockets sadece avantaj WebSockets doğal tarayıcılar yerleşik ve eklentileri dayanmaz.
  • Akış bir çaba harcamak zorunda kalmamasıdır http üzerinden WebSockets sadece avantaj "anlamak" ve ayrıştırma verileri aldı.
  • Uzun Yoklama üzerinden WebSockets tek avantajı fazladan başlık boyutu & istek için soket bağlantısı kapanış açılış giderilmesi.

Kaçırdığım başka farklılıklar var mı? Üzgünüm eğer ben yeniden soruyorum ya da birleştirerek birçok soru zaten bu YÜZDEN tek bir soru, ama ben sadece yapmak için mükemmel duygusundan dolayı tüm bilgi bu mu var YANİ web ile ilgili bu kavramlar.

Teşekkürler!

CEVAP
23 EYLÜL 2012, Pazar


Tespit sahip olanlara göre daha fazla farklılıklar vardır.

Çift yönlü/tek yönlü:

  • Uni-yön: HTTP anket, uzun bir anket, bir akış.
  • Bi-direcitonal: WebSockets, ağ eklentisi

Artan gecikme (yaklaşık) % için:

  • WebSockets
  • Eklenti ağ
  • İzle, HTTP
  • HTTP uzun zamandır yoklar
  • HTTP yoklama

Bir İSTASYONDAN (cross-origin destek):

  • WebSockets: Evet
  • Eklenti ağ: politika isteği () diğerleri hakkında emin değilim) Flash
  • * (Bazı yeni destek) HTTP

Yerel ikili veri (diziler, lekeler yazılı):

  • WebSockets: Evet
  • Eklenti ağ: Flash (URL kodlama gerektirir Externalınterface arasında)
  • HTTP *: ikili etkinleştirmek için son teklif türü desteği

Azalan verimlilik bant genişliği:

  • Eklenti ağ: Flash yuva ilk ilkesi isteği dışında ham
  • WebSockets: bağlantı kur, el sıkışma ve kare başına birkaç bayt
  • Akış (yeniden kullanım sunucu bağlantısı) HTTP
  • HTTP uzun-anket: her mesaj için bağlantı
  • HTTP anket: her mesaj için bağlantı veri mesajları

Mobil cihaz desteği:

  • WebSocket: iOS ve 4.2. Flash öykünme ya Firefox for Android veya yerel WebSocket desteği sağlamak, her ikisi de Google Chrome for Android kullanarak bazı Android.
  • Eklenti ağ: bazı Android. İOS değil
  • HTTP *: çoğunlukla Evet

Kullanım karmaşıklığı (en basit en karmaşık için) Javascript. Kuşkusuz karmaşıklığı önlemler biraz özneldir.

  • WebSockets
  • HTTP anket
  • Eklenti ağ
  • HTTP uzun anket, akış

Ayrıca standart hale getirilmesi için HTTP W3C önerisi Server-Sent Events adlı akış olduğunu unutmayın. Şu anda, evrim oldukça erken ve WebSockets karşılaştırılabilir sadeliği ile standart bir Javascript API sağlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • grickle

    grickle

    22 AĞUSTOS 2006
  • mliskIT

    mliskIT

    29 Mart 2012