Suppongo che un modo per parafrasare questa domanda sia perché HTTP non può usare solo UDP? Quali funzionalità specifiche fornite dal TCP sono esplicitamente richieste da HTTP?Perché HTTP usa TCP?
risposta
Ordinamento, non duplicazione, integrità, pacing di grandi carichi utili, ... come tutti gli altri ha bisogno davvero. Qualche anno fa ci fu una mossa per fornire HTTP su UDP per piccoli carichi utili che si adatterebbero in un singolo datagramma, e idem le risposte, ma la maggior parte dei payload HTTP sono troppo grandi per un datagramma, quindi il punto è perso.
Non sapevo del movimento UDP. Come potrebbe il cliente sapere che la risposta si adatterebbe in un singolo datagramma? –
@BrianWhite La mia ipotesi è che il cliente non possa sapere in tutti i casi. – grieve
@BrianWhite Beh, questo era il problema. L'idea era di usarlo per richieste come HEAD che hanno piccoli carichi di richieste e di risposte. – EJP
- 1. Quando rabbitmq usa la contropressione tcp?
- 2. google talk usa pacchetti udp o tcp?
- 3. HTTP connessione persistente vs connessione socket TCP
- 4. NET TCP/HTTP WCF ospitato in IIS
- 5. HTTP Keep Alive e TCP keep alive
- 6. Usa sia http che https per socket.io
- 7. Apache - gestisce le connessioni TCP, ma non le richieste HTTP
- 8. Perché cURL usa zlib?
- 9. Usa Mock HTTP con Goniometro e Gelsomino
- 10. Unity: Usa HTTP PUT in Unity3D
- 11. Come vengono identificate diverse connessioni TCP nelle richieste HTTP?
- 12. Discussione: Chat server via node.js: HTTP o TCP?
- 13. checksum nell'intestazione della risposta HTTP - perché no?
- 14. Perché jQuery non usa JSDoc?
- 15. Python perché si usa [:] over =
- 16. Perché Psyco usa molta memoria?
- 17. Perché mode_t usa 4 byte?
- 18. Perché il mio script del server Perl TCP si blocca con molte connessioni TCP?
- 19. Perché MongoDB non usa Index Intersection?
- 20. Usa aumentare date_time per analizzare e creare HTTP date
- 21. Posso usare TCP in un servizio RESTful?
- 22. Perché esiste l'intestazione HTTP server?
- 23. Psr7 Http Message, perché immutabile?
- 24. Dettagli pacchetto RST TCP
- 25. Usa $ httpBackend per deridere $ http chiamate modificare l'URL previsto angolare
- 26. JMeter usa la variabile beanshell in HTTP Request
- 27. Mixing TCP e UDP
- 28. perché esiste un checksum separato nelle intestazioni TCP e IP?
- 29. Perché TCP() non bloccante è occasionalmente così lento su Linux?
- 30. Perché il C++ usa ancora stdio.h?
garanzia di consegna pacchetto nedeed – gureedo
e protezione per il riordino dei pacchetti –
Non esiste una 'garanzia di consegna pacchetto'. Quello che c'è è una garanzia che * se viene ricevuto un byte, * è il valore corretto del byte successivo nello stream, senza spazi e senza duplicati. – EJP