TCP bzw HTTP Protokoll?

5 Antworten

TCP ist es egal, ob HTML oder Mail oder Stream läuft, ist das Fundament sozusagen. Das "Handshake" ist die Quittung, dass die Pakete korrekt angekommen sind, egal, was die Pakete im Einzelnen beinhalten.

HTML ist dann der Dateninhalt von einem bis mehreren IP-Paketen, ist also eine Ebene höher.

Um bei Deiner Terminologie zu bleiben: TCP ist das Transport"medium", welches HTML oder was auch sonst enthalten kann.

Stell Dir einen Zirkus vor, um das Zelt zu transportieren, braucht es etlicher LKWs. also IP-Pakete. Wenn ein LKW am neuen Standort angekommen ist, teilt der Fahrer mit "angekommen" und lädt ab. Wenn alle LKWs angekommen sind, erfolgt eine Komplettmeldung, jetzt kann der auf die LKWs verteilte Inhalt zum Zelt aufgebaut werden. Das klappt aber nur, wenn alle Pakete äh LKWs angekommen sind.

Das Zelt ist dann ein HTML-Teil, TCP/IP-Quittungen haben nichts mit Absichern zu tun, sie garantieren nur fehlerfreien Transport. Wenn ein LKW ein Problem (Panne, was auch immer) hat, muss dessen Transportinhalt ja neu initiiert, ausgeführt werden. Das ist Sache des IP-Protokolls.

HTTP kümmert sich um sowas nicht, es erwartet, vollständiges bekommen zu haben.

Mal etwas lax erklärt.

Das geht auch aus dem OSI-Modell im Prinzip so hervor. HTML braucht TCP/IP, aber TCP/IP braucht nicht HTML.

WICHTIG: Ich meine natürlich immer HTTP statt HTML! Da war Kaffeemangel usw. aktiv... sorry.


Kacke103 
Fragesteller
 16.08.2022, 12:22

Und http gibt den auftrag für die Lieferung und setzt die Lieferung wieder zusammen?

0
Kacke103 
Fragesteller
 16.08.2022, 12:27

und warum heißt es http request, wenn es doch eigentlich dcp request heißen müsste?

0
CatsEyes  16.08.2022, 12:33
@Kacke103

TCP/IP ist doch eine bidirektionale Angelegenheit. Wenn ein Client per TCP/IP an einen Server sendet, findet zuerst ein TCP/IP-Handshake statt bez. Vollständigkeit usw. Das ist der aufgerufenen Web-Seite aber völlig egal, diese interpretiert den HTML-Inhalt und antwortet dann mit was auch immer. Diese Antwort gelangt wiederum via TCP/IP samt beschriebener Handshakes zum Client, nur eben "umgekehrt". Dem Client sein Browser ist das TCP/IP-Zeugs egal, er interpretiert dann die Antwort vom Server, verlässt sich dabei auf das IP-Protokoll, welches die Vollständigkeit der Antwort garantiert.

Was immer dann weiter HTML-seits abläuft, TCP/IP ist für Vollständigkeit usw. zuständig, hat nichts mit den HTML-Aktionen zu tun.

1
Kacke103 
Fragesteller
 16.08.2022, 12:39
@CatsEyes

also besteht eine konverstation mit einem server aus mehreren tcp protokollen mit mehreren 3 way handshakes?

0
CatsEyes  16.08.2022, 12:40
@Kacke103

Ja, je nach Paketanzahl und -Länge. Habe übrigens blöderweise immer HTML statt HTTP geschrieben - mein Fehler, sorry.

1
CatsEyes  16.08.2022, 12:41
@Kacke103

<<< mehreren tcp protokollen >>> mehreren tcp paketen

0
Kacke103 
Fragesteller
 16.08.2022, 12:42
@CatsEyes

ALso kann es sein, dass http nur eine schrebiweise ist wie pakete aufgebaut sein müssen?

0
TechPech1984  16.08.2022, 12:32

korrigier bloß dein HTML wenn du von HTTP sprichst . TCP->HTTP->HTML , von HTML hat der Fragende übrigens gar nciht geredet . nur das jetzt nicht noch ein lesender das ganze falsch versteht, den HTML ist dann noch mal eine Ebene höher eingebettet in den ganzen HTTP prozess , könnte aber auch über jedes andere protokoll übertragen werden . das es eigentlich gar nichts damit zu tun hat . es ist ja nur eine markuplanguage .

1
CatsEyes  16.08.2022, 12:34
@TechPech1984

da hast Du natürlich Recht - sorry, hoffe, es ist noch nicht zu spät für den FS... ;--)) (Ich brauche KAFFEEEEE!!)

0

kurz gesagt, TCP verbindet deine Netzwerkkarte mit der Servernetzwerkkarte

wenn es die verbindung gibt , wird darin eine verbindungs zwischen z.b. deinem browser und der serversoftware gemacht .

ergo http ist eine andwendungsprotokoll , wärend tcp ein netzwerkprotokoll ist .

und eine anwendung brauch ein netzwerk um mit anderen anwendungen im netzwerk reden zu können . jeder dieser teile macht seine arbeit eigenständig . und jeder der teile brauch auch seine eigene verbindungs logik . quasi ist immer alles geschachtelt , der eine transportiert die payloads (nutzerdaten) damit er das machen kann muss er eine verbindung aufbauen und das andere kann dann bei der verbindung darüber kommunizieren . und praktisch hast du 65000 einzelne logische leitungen (ports pro ip) in deiner netzwerkkarte , könntest also 65000 verbdinugnen zu einzelnen diensten aufbauen , wie und was die miteinander reden ist dem tcp egal . das transportier nur infos an den richtigen port .

wie beim telefon ... ob du chineisch oder deutsch sprichst und ein vertrag verhandelst mit deinem kunden , erstmal musst du eine verbindung aufbauen und ihn anrufen . ob du dann selber mit HALLO / 你好 oder GUTEN TAG / 再会 und auf antwort wartest, interressiert das telefon doch nicht ;) ohne telefonverbindung kannst auch nicht mit deinem Kunden reden .

Du kannst mit TCP eine HTTP anfrage bauen, aber nicht umgekehrt. HTTP -> Anfrage, Daten übermitteln und zurückgeben. TCP -> Anfrage, Daten übermitteln und zurückgeben und Tür offenhalten, für weitere Kommunikation. Kurz gesagt. Ist in der Praxis natürlich komplexer


Kacke103 
Fragesteller
 16.08.2022, 12:07

also nutzt http nicht tcp?

0
FaTech  16.08.2022, 12:15
@Kacke103

Doch. Das steckt dort unter der Haube. Aber nur kurz Daten austauschen, empfangen und wieder Verbindung beenden. Sie bleibt nicht bestehen

0
Kacke103 
Fragesteller
 16.08.2022, 12:08

und wann wird tcp genutzt?

0
FaTech  16.08.2022, 12:16
@Kacke103

Reines TCP wird meist benutzt, wenn man Dinge in fast Echtzeit teilen und empfangen will. Beispiel Messenger. Da kann der nicht immer tausende neue Anfragen raus hauen. Der muss die Verbindung offen halten

0
Von Experte CatsEyes bestätigt

TCP ist kein Teil von HTTP, beides sind unabhängige Protokolle. Sie werden in einer bestimmten Reihenfolge abgearbeitet. Bei einer Netzwerkkommunikation hast Du immer eine Verschachtelung mehrerer Protokolle, z. B.

Bits auf der Leitung -> Ethernet -> IP -> TCP -> HTTP

IP kann IPv4 oder IPv6 sein. Statt TCP kann auch für bestimmte Anwendungen UDP verwendet werden:

Bits auf der Leitung -> Ethernet -> IP -> UDP -> DNS

Und warum hat tcp einen three way handshake, wenn http dieverbindung schon abgesicher hat?

Das ist ein Problem der Wortwahl. Bei HTTP wird nichts abgesichert. Allenfalls bei HTTPS kann man von "absichern" sprechen. Das bedeutet aber etwas anderes als das "Absichern" bei TCP. TCP sorgt dafür, dass auf dem Transportweg keine Daten verloren gehen bzw. sorgt dafür, dass Daten, die verloren gegangen sind, neu gesendet werden. Zudem sorgt TCP für eine Flusskontrolle, um besser mit Engpässen auf dem Transportweg umgehen zu können. Das alles kann HTTP(S) nicht leisten. Die "Absicherung" bei HTTPS ist eine kryptografische Absicherung. So wird sichergestellt, dass Du mit dem aufgerufenen Server kommunizierst, dass die Daten verschlüsselt und damit gegen Mitlesen geschützt sind und dass die Daten gegen Manipulation geschützt sind.

Schau dir das OSI Referenzmodell an.


Kacke103 
Fragesteller
 16.08.2022, 12:04

hab ich, daher denk ich ja das tcp ein teil von http ist, das erklärt aber nicht warum tcp noch einen 3 way handshake braucht, wenn http die verbindung einweg absichert

0
vilarias  16.08.2022, 12:07
@Kacke103

TCP ist transportorientiert. HTTP ist jedoch auf Anwendungsebene. Die beiden Protokolle bedienen völlig andere Zwecke.

1