Mal wieder Web Server

Gast #218688
Hallo,
bin inzwischen mit meinem EasyTCP und ATMEGA162 soweit gekommen daß ich
eine TCP Verbindung aufbauen kann und Daten empfangen kann.
Ich teste das erfolgreich mit einem TCP Testprogramm. Wenn ich nun mit
dem Internet Explorer auf meinen Webserver zugreife, so empfange ich
"Get /HHTP...." und antworte darauf mit "<html><body><p><i>Hallo
Welt!!!</i></font></p></body></html>". Leider zeigt mein Explorer
immer an daß er diese Seite nicht öffnen kann. Wenn ich genau diesen
Text in eine Datei "test.htm" einklebe und diese öffne so funzt es.
Was fehlt da das mein Web Server nicht schickt?? Ist bestimmt nur eine
Kleinigkeit, ich bekomm es aber nicht gebacken.
Vorab danke für eure Hilfe.

Gruß

Thomas
Gast
ich würde mal vermuten, daß dein browser nicht weiß dass es sich um eine
html datei handelt.
da war doch was das sich "header" nannte oder??
Gast
Guten Morgen,
danke erst mal für die Vorschläge, werde ich ausprobieren. Wieso sollte
mein Explorer nicht wissen daß es HTML ist? Wenn ich das gleiche in
einer HTM Datei öffne hab ich auch keinen Header und er zeigts an.
@Ulrich: Ich werde nach dem Text mal abkneifen und sehen was passiert.
Habe aber erst heute abend Zeit. Ist es so daß der Client die
Verbindung aufbaut und der Server wieder schließt?

Melde mich dann wieder.

Gruß

Thomas
Gast
Hallo,
bei der Kommunikation zwischen Browser und Webserver wird ein wenig
mehr an Informationen ausgetauscht als nur die gewünschte Webseite und
der HTML-Code.

Beginnen wir bei der Anfrage des Clients:

GET http://sleeper/AspHeute/SortedList/iterateforeach.aspx HTTP/1.0
Accept: */*
Referer: http://sleeper/AspHeute/SortedList/
Accept-Language: en-us
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461;
.NET CLR 1.0.3705)
Host: sleeper
Pragma: no-cache

Da der Browser neu geöffnet war, und ich keine andere Seite auf diesem
Server vorher angesurft hatte, wird kein Cookie an den Server
geschickt. Dafür aber erfährt der Server von uns, welchen Browser wir
verwenden, welche Sprachen von uns akzeptiert werden, und auch woher
wir kommen Und natürlich ist die erste Information wie die Seite
angefragt wird: GET oder POST.

Die Antwort des Servers ist zweigeteilt - und zwar durch eine
Leerzeile. Der erste Teil sind die Header der Antwort, nach der
Leerzeile folgt der eigentliche Content:

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Mon, 04 Mar 2002 20:47:58 GMT
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 122

ASP.NET - aspDEdotnet@aspfriends.com<br>
C# - dotnetDEcsharp@aspfriends.com<br>
VB.NET - dotnetDEvb@aspfriends.com<br>

gruß
Thorsten

Quelle: "Mitlauschen bei der Browser-Webserver Kommunikation",
http://www.aspheute.com/artikel/20020305.htm
Gast
Hallo alle,
danke für die zahlreichen Antworten. Ein erster Test zeigt daß Ulrich
auf dem richtigen Dampfer war. Wenn ich die Verbindung nach dem Text im
Server abkneife so bekomme ich mein "Hallo Welt".
Die anderen Beiträge sehe ich mir in Ruhe an und werde das eine oder
andere daraus noch extrahieren und nutzen.
Eine weitere Hürde ist erstmal genommen.
DANKE!!

Gruß an alle

Thomas
Du solltest dir auch mal die RFC 2068 und 2616 anschauen
(evtl RFC822). RFC=Request for comments, offener Standart für alles was
im Netzwerk abläuft, also auch die Übertragunng einer HTML-Seite per
HTTP. Download bei http://www.rfc-editor.org/rfc.html

Außerdem sind es 2x CR+LF die das Ende des Headers anzeigen. Und zum
Schluß, im Antwort-Header wird "Date:" und "cache-control" nicht
unbedingt benötigt. Was der Browser aber brauchen kann
ist die "Content-length" (Größe der Seite in Bytes).

Gruss

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.