2 Stimmen

Warum verwendet HTTP nur druckbare Zeichen?

Mögliches Duplikat:
Warum ist das HTTP-Protokoll im Klartext konzipiert?

Um zu zeigen, dass ich keine Ahnung habe, wie TCP/IP funktioniert: Wenn ich mir die ASCII-Tabelle ansehe, was ist der Grund dafür, dass HTTP nur Tabulator, Newline und [x20-x7E] für das Protokoll?

Warum wird z. B. nicht "x02" ("Start of Text") verwendet, sondern ein doppelter Zeilenumbruch "x0Ax0A"?

Handelt es sich um eine Störung von TCP/IP (im Sinne von "ist in der Anwendungsschicht nicht erlaubt")? Gibt es vielleicht einen eher trivialen Grund? Oder einen komplizierteren?

Duplikat dieser Frage: Warum ist das HTTP-Protokoll im Klartext aufgebaut?

2voto

bdonlan Punkte 213545

Textbasierte Protokolle sind leichter zu debuggen - Sie brauchen keine speziellen Formatierungs-/Dekodierungsroutinen in Ihrem Debug-Print-Code, sondern geben einfach die gesamte Anfrage auf der Konsole aus. Ebenso können Sie eine HTTP-Anfrage stellen, indem Sie sie einfach in ein entsprechendes generisches TCP-Relay-Programm (z.B. netcat) eingeben.

1voto

templatetypedef Punkte 343693

Ich kann nicht sagen, warum HTTP diesen eingeschränkten Zeichensatz verwendet, aber es hat nichts mit den Einschränkungen von TCP/IP zu tun. TCP/IP-Pakete sind mehr oder weniger wie ein Briefumschlag aufgebaut; sie enthalten komplexe Routing- und Formatierungsinformationen, die in einem ganz bestimmten Format gespeichert werden müssen, aber der eigentliche Inhalt der Paketnutzdaten kann beliebig sein. Die Kopfzeilen der Pakete enthalten genügend Informationen, um eine Weiterleitung und Übertragung unabhängig vom Inhalt des Pakets zu ermöglichen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X