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
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.
Uzun Yoklama, Server-Sent Olayları (SS...
WebSockets protokolü vs HTTP...
Nasıl bir HTTP 414 " gidermek;URI ...
Java kullanarak.net.Ateş ve işlemek iç...
<meta karakter='utf-8'>...