Was ist der Unterschied zwischen Socket-Programmierung und HTTP-Programmierung? kann mir bitte jemand helfen
quelle
Was ist der Unterschied zwischen Socket-Programmierung und HTTP-Programmierung? kann mir bitte jemand helfen
HTTP ist ein Anwendungsprotokoll. Dies bedeutet im Grunde, dass HTTP selbst nicht zum Transportieren von Informationen zu / von einem Remote-Endpunkt verwendet werden kann. Stattdessen basiert es auf einem zugrunde liegenden Protokoll, das im Fall von HTTP TCP ist.
Wenn Sie interessiert sind, können Sie mehr über OSI-Ebenen lesen .
Sockets hingegen sind eine API, die die meisten Betriebssysteme bereitstellen, um mit dem Netzwerk kommunizieren zu können. Die Socket-API unterstützt verschiedene Protokolle von der Transportschicht bis hinunter.
Das heißt, wenn Sie TCP verwenden möchten, verwenden Sie Sockets. Sie können aber auch Sockets verwenden, um über HTTP zu kommunizieren. Anschließend müssen Sie Nachrichten gemäß der HTTP-Spezifikation ( RFC2616 ) dekodieren / kodieren . Da dies für die meisten Entwickler eine große Aufgabe sein kann, haben wir auch Clients in unseren Entwickler-Frameworks (wie .NET) vorbereitet, zum Beispiel die WebClient
oder die HttpWebRequest
Klassen.
Bei HTTP verwenden Sie ein HTTP-Protokoll auf hoher Ebene (das über einem Socket funktioniert). Es ist sitzungslos, was bedeutet, dass Sie Textanfragen wie senden
GET google.com
und im Gegenzug Text oder Binärdaten empfangen, nachdem diese Verbindung geschlossen wurde (in HTTP 1.1 sind dauerhafte Verbindungen verfügbar).MSDN-Beispiel:
Mit Sockets gehen Sie auf die niedrigere Ebene und steuern tatsächlich die Verbindung und senden / empfangen Rohbytes.
Beispiel:
quelle
Connection
Header gesetzt ist;)quelle
HTTP - Programmierung oder HTTP - Anforderung wird für lose Kopplung und verwendet plattformunabhängige Sprachtechnologie Kommunikation , bei der als Socket - Programmierung verwendet wird , in dem System hat Sprachspezifikation Protokoll
quelle
Damit zwei Endpunkte miteinander kommunizieren können, sollten beide einer Reihe von Regeln folgen. Im Computer werden diese Regeln als Protokoll bezeichnet.
Zum Beispiel sollten beide für einen Endpunkt wie einen Browser und für einen anderen wie einen Webserver eine Reihe von Regeln oder Protokollen mit dem Namen http befolgen, um Informationen kommunizieren und handeln zu können. Im World Wide Web und bei dieser Art der Kommunikation konnten nur diejenigen, die auf der Grundlage dieses http-Protokolls sprechen, erfolgreich miteinander sprechen.
Socket ist nur ein Endpunkt. Es könnte dem http-Protokoll folgen, um als Client, der eine Seite anfordert, eine Kommunikation in www zu erhalten, oder es könnte als Server fungieren, der Verbindungen abhört. oder vielleicht könnte es einem anderen Satz von Regeln oder Protokollen wie ssh, ftp folgen und auf andere Weise kommunizieren.
Jetzt können Sie in der Socket-Programmierung einen Socket erstellen, ihn an eine IP-Adresse und eine Portnummer binden, um als Portnummer zu fungieren, und ihn anweisen, http, ssh, ftp oder was auch immer Sie möchten, basierend auf der Kommunikation, die Sie verwenden möchten Steckdose für.
quelle