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?
Odpowiedz
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.
Nie wiedziałem o ruchu UDP. W jaki sposób klient wie, że odpowiedź pasowałaby do jednego datagramu? –
@BrianWhite Domyślam się, że klient nie mógł wiedzieć we wszystkich przypadkach. – grieve
@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
- 1. Kiedy rabbitmq używa przeciwciśnienia tcp?
- 2. TCP vs. Http Benchmark
- 3. HTTP trwałe połączenie vs połączenia gniazda TCP
- 4. HTTP Keep Alive i TCP utrzymują się przy życiu
- 5. Dlaczego cURL używa zlib?
- 6. Dlaczego "Data.List.null" używa "foldr"?
- 7. czy Google Talk używa pakietów udp lub tcp?
- 8. Dlaczego MySQL używa domyślnie latin1_swedish_ci?
- 9. Dlaczego tryb używa 4 bajtów?
- 10. Dlaczego Python używa "magicznych metod"?
- 11. Dlaczego IntelliJ nie używa kart?
- 12. Dlaczego kompilator używa zmiennej tymczasowej?
- 13. Dlaczego history.js używa setInterval (.., 250)?
- 14. Tworzenie WebSockets między serwerem TCP i serwer HTTP w node.js
- 15. Dyskusja: Serwer czatu przez node.js: HTTP lub TCP?
- 16. Dlaczego `http` w wyliczniku http jest Iteratee?
- 17. Dlaczego program MongoDB nie używa właściwego indeksu?
- 18. Dlaczego Java char używa UTF-16?
- 19. Dlaczego mDNS (Bonjour, Avahi, itp.) Używa UDP?
- 20. Dlaczego doktryna używa GDZIE IN zamiast LIMITU?
- 21. Dlaczego Google używa wbudowanego JavaScript i CSS?
- 22. Dlaczego ember-cli używa rozszerzenia zamiast tworzyć?
- 23. Dlaczego Scala nie używa tutaj konwersji niejawnej?
- 24. Dlaczego JVM używa gigantycznego int [] wszystkich 0?
- 25. Dlaczego Mathematica używa podkreślenia podczas definiowania parametrów?
- 26. Dlaczego metoda logowania Flask używa "GET"?
- 27. Dlaczego plik yocto bblayers.conf używa bezwzględnych ścieżek?
- 28. mysql: dlaczego lewe dołączenie nie używa indeksu?
- 29. Dlaczego Maven nie używa oczekiwanego profilu?
- 30. Dlaczego narzędzie cabal nie używa Setup.lhs/Setup.hs?
gwarancja doręczenia przesyłki pakietowej – gureedo
i ochrona przed ponownym pakietowaniem –
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