2015-12-27 25 views
13

İstem 1.1'de, satır sırasının engellenmesine neden olan istek sırasına göre istemciye yapılması gereken yanıtlar gerektirdiği için mi?HTTP/1.1 pipelining ve HTTP/2 multiplexing arasındaki fark nedir?

Her istek tam olarak eşit bir süre alırsa, bu durumda satır engelleme ve HTTP 1.1 aktarımının başı olmaz ve HTTP/2 çoğaltmasıyla aynı performans göstermez mi?

cevap

14

HTTP/1.1 ardışık düzen hala istekleri gerektirir iade edilecek (HTTP/2 istekleri hiçbir istek önceliği yoktur demek ve/2 tür başlık sıkıştırma, ikili, vb HTTP diğer değişiklikleri göz ardı edelim) Tam olarak, talep edilen sırada.

HTTP/2, isteklerin yanıtların parçalara bölünmesine izin verir ve bir araya getirilmiş şekilde döndürülür ve böylece satır engelleme engellenir.

Ayrıca, HTTP/1.1 aktarımları hiçbir zaman gerçekten kalkmadı ve tarayıcı ve sunucu desteği sınırlı kaldı (bkz: https://en.m.wikipedia.org/wiki/HTTP_pipelining). Ancak, teoride benzer ve dolayısıyla benzer performans avantajları sağlarlar. HTTP/2, daha iyi, daha tam özellikli, daha desteklenen bir sürümdür - not ettiğiniz diğer avantajlarla birlikte.

+0

Tüm gerçekleri açıklar. Teşekkürler :) – prasun

+0

Ve bu HTTP pipelining çoğu sunucu tarafından desteklenmiyor çünkü onu uygulamak zor ve bazı çok riskli güvenlik sorunları var eklemek istiyorum. Örneğin, http kaçakçılığı isteğin İçerik Uzunluğu başlığına müdahale ederek ve tek bir istekte birden fazla istekte bulunarak ve başka bir kullanıcının size yanıt vermesini sağlayarak proxy sunucusunun yanlış davranmasını sağlayarak yapılabilir (çünkü istek sırası korunur ve sadece tek bir istekte 2 istek koydunuz). Bu saldırı, iyi bir zamanlama gerektirir, ancak elbette imkansız değil .. her neyse :) – sotn

24

HTTP/1.1 ağ bağlantısı olmadan: TCP bağlantısı üzerinden her HTTP isteği, bir sonraki istekte bulunulmadan önce yanıtlanmalıdır.

HTTP/boru hattı ile 1.1: TCP bağlantısı üzerinden Her HTTP isteği geri dönmek için önceki isteğin yanıtı beklemeden hemen yapılabilir. Cevaplar aynı sırayla geri gelecektir.

HTTP/2 çoğullama: TCP bağlantısı üzerinden her HTTP isteği, önceki yanıtın geri gelmesini beklemeden hemen yapılabilir. Cevaplar herhangi bir sırayla geri gelebilir.

+2

Bu, HTTP v2'yi okurken ve çoğullama ile pipelining arasındaki farkı anlamaya çalışırken çok kullanışlıdır. Teşekkürler dostum! – Combine

+0

Awesome, bu size yardımcı oldu sevindim! Bana da yardımcı oldu! –

İlgili konular