Forum: PC-Programmierung Hex wert als gif an Webbrowser schicken


von Sepp (Gast)


Lesenswert?

Hallo zusammen,

ich hab da mal ne allgemeine Frage, zu der ich die Antwort hier schon 
irgendwo gelesen habe, aber sie wirklich nciht mehr finde, zum Thema 
Gif-Bild.
Wenn mir (ich bin in diesem Fall ein Webserver) der Browser eine Anfrage 
auf ein Gif Bild schickt z.B. "GET /smile.gif..." und ich ihm in etwa 
eine solche Antwort:
1
HTTP/1.0 200 Document follows
2
Server: ich
3
Content-Type: image/gif
4
0x00 0x0f ...
schicken würde, wobei die Hexwerte aus der Umsetzung aus einem normalen 
Gif-Bildes stammen, würde mich dann der Browser verstehen und mein Bild 
darstellen können?
Wenn nicht, was muss ich anders machen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sepp wrote:

> Wenn nicht, was muss ich anders machen?

Nun, erstens könntest du mit dem Studium der einschlägigen RFCs
für HTTP beginnen.  Die sind sowas wie ein Gesetz, daher solltest
du sie befolgen.

Darin wirst du z. B. erfahren, dass zwischen den Headern und dem
eigentlichen Dokument eine Leerzeile (mit \r\n, nicht nur \n)
sein muss.  Auch wirst du darin erfahren, welche Header Pflicht
sind und welche nicht.

HTTP-Dokumente werden normalerweise uncodiert versendet, d. h.
rein binär.  Dementsprechend müsste dein GIF-File dann auch binär
dort kommen, nicht in irgendeiner hexadezimalen Darstellung.

p.s.: Hat nichts mit GCC zu tun, daher habe ich es verschoben.

von Sepp (Gast)


Lesenswert?

1
[...]HTTP-Dokumente werden normalerweise uncodiert versendet, d. h.
2
rein binär.  Dementsprechend müsste dein GIF-File dann auch binär
3
dort kommen, nicht in irgendeiner hexadezimalen Darstellung.[...]

Also könnte das schon funktionieren. Ich hab schon an ein paar Ecken 
gesehen, dass die Leute ihre Gif Bilder in Hexwerte umcodieren um dann 
"einfach" rausschicken. Mir ist nur noch nicht ganz klar, wer die 
Hexwerte richtig interpretieren muss. Entweder macht das der Browser, 
oder das  µC Prog an sich wandelt die Hexwerte in Chars und der Browser 
wandelt diese dann wieder in ein Bild. Bin mir aber sowas von garnicht 
sicher und die RFC zu HTTP hat mir da auch nicht wirklich geholfen. 
Steht da sowas wirklich drin? Wenn ja, dann hab ich da ein paarmal 
vorbeigelesen :)

von Kai G. (runtimeterror)


Lesenswert?

Ist mir nicht bekannt, dass man Binärdaten einfach als Hex verschicken 
könnte. Wenn du Glück hast findest du einen Browser, der Base64 
unterstützt. Meines Wissens nach ist das als Kodierung in HTTP erlaubt 
(bei entsprechender Kennzeichnung im Header).

Ich verstehe nur nicht genz, was das für einen Nutzen hat. Normaler 
Weise ist's einfacher den ganzen Kram binär auszugeben.

Um HTTP zu lernen ist's am einfachsten, wenn man einfach mal eine 
Kommunikation mitschneidet und dann in den RFCs und beim W3C 
nachschlägt, was da eigentlich passiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.