2012-10-11 14 views
5

Ich denke, eine Möglichkeit, diese Frage zu paraphrasieren ist warum kann HTTP nicht einfach UDP verwenden? Welche spezifischen Funktionalitäten von TCP werden explizit von HTTP benötigt?Warum verwendet HTTP TCP?

+1

paketversandgarantie nedeed – gureedo

+1

und paketbestellschutz –

+1

Es gibt keine "paketversandgarantie". Was es gibt ist eine Garantie, dass * wenn ein Byte empfangen wird, * es ist der korrekte Wert des nächsten Bytes im Strom, ohne Lücken und ohne Duplikate. – EJP

Antwort

8

Bestellung, Nicht-Duplizierung, Integrität, Pacing von großen Nutzlasten, ... wie jeder andere wirklich braucht. Vor einigen Jahren gab es einen Schritt, um HTTP über UDP für winzige Nutzdaten bereitzustellen, die in ein einzelnes Datagramm passen würden, und dito die Antworten, aber die meisten HTTP-Nutzdaten sind zu groß für ein Datagramm, so dass der Punkt verloren geht.

+0

Ich wusste nichts über die UDP-Bewegung. Wie würde der Client wissen, dass die Antwort in ein einzelnes Datagramm passt? –

+0

@BrianWhite Meine Vermutung ist, dass der Client nicht in allen Fällen wissen konnte. – grieve

+1

@BrianWhite Nun, das war das Problem. Die Idee war, sie für Anfragen wie HEAD zu verwenden, die kleine Anfrage- und Antwort-Payloads haben. – EJP

Verwandte Themen