2012-10-11 15 views
5

Przypuszczam, że sposobem na parafrazę tego pytania jest to, dlaczego HTTP nie może korzystać z UDP? Jakie konkretne funkcje zapewniane przez TCP są jednoznacznie wymagane przez HTTP?Dlaczego HTTP używa TCP?

+1

gwarancja doręczenia przesyłki pakietowej – gureedo

+1

i ochrona przed ponownym pakietowaniem –

+1

Nie ma "gwarancji doręczenia przesyłki pakietowej". Istnieje gwarancja, że ​​* jeśli bajt zostanie odebrany, * jest poprawną wartością następnego bajtu w strumieniu, bez przerw i bez duplikatów. – EJP

Odpowiedz

8

Zamawianie, nie powielanie, integralność, stymulacja dużych ładunków, ... tak jak każdy inny naprawdę potrzebuje. Kilka lat temu nastąpił ruch, aby zapewnić HTTP przez UDP dla niewielkich ładunków, które pasowałyby do pojedynczego datagramu, a także odpowiedzi, ale większość ładunków HTTP jest zbyt duża dla jednego datagramu, więc punkt jest stracony.

+0

Nie wiedziałem o ruchu UDP. W jaki sposób klient wie, że odpowiedź pasowałaby do jednego datagramu? –

+0

@BrianWhite Domyślam się, że klient nie mógł wiedzieć we wszystkich przypadkach. – grieve

+1

@BrianWhite Cóż, to był problem. Chodziło o to, aby użyć go dla żądań takich jak HEAD, które mają małe żądania i odpowiedzi. – EJP

Powiązane problemy