Geschätztes Forum, mein kleiner Webserver sendet folgende HTML-Datei: <!DOCTYPE html> <html> <head> <title>WEBSERVER</TITLE></HEAD> <body><BODY BGCOLOR='#FFFFFF'> HALLO </body></html> Bei den beiden Android Geräten (1+2) wird die HTML Datei angezeigt, nur die beiden PC (3+4), mit dem dem Internet-Explorer 8 bzw. 9, kommen damit nicht zurecht. Worin liegt die Ursache? Beim Verbindungsaufbau werden folgende Daten zum Web-Server gesendet: (1) Smartphone-A: GET / HTTP/1.1 Host: 192.168.0.90 Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0 .8 User-Agent: Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T815 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Safari/537.36 Accept-Encoding: gzip,deflate,sdch Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 (2)Smartphone-B: GET / HTTP/1.1 Host: 192.168.0.90 Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0 .8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-G925F/XXS3DPDF Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 (3)PC WindowsXP, Internet Explorer 8: GET / HTTP/1.1 Accept: */* Accept-Language: de User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C) Accept-Encoding: gzip, deflate Host: 192.168.0.90 Connection: Keep-Alive (4)PC Windows7, Internet Explorer 9: GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: de-DE User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Accept-Encoding: gzip, deflate Host: 192.168.0.90 Connection: Keep-Alive Danke Bernhard
Was für Header sendet der Webserver denn zurück? Was genau ist das Problem, wird die Seite nur nicht angezeigt, keine Daten übertragen, Server antwortet nicht? :)
>Was für Header sendet der Webserver denn zurück?
diesen:
<!DOCTYPE html>
<html>
<head>
<title>WEBSERVER</TITLE></HEAD>
...
Der Windows Explorer 8+9 meldet:
"Verbindung wird hergestellt"
"Webseite gefunden, warte auf Antwort"
Anmerkung:
Die "Test.htm" (s.oben) können die Windows Explorer 8+9 problemlos
öffnen.
Ich meine ich hatte mal ein Problem mit <!DOCTYPE html>. Laß das mal weg. Sicher bin ich mir aber nicht mehr, da es schon zu lange her ist.
Bernhard S. schrieb: >>Was für Header sendet der Webserver denn zurück? > > diesen: > > <!DOCTYPE html> > ... Das ist nicht der HTTP Response Header, sondern der Response body/Content. https://en.m.wikipedia.org/wiki/HTTP_message_body Du kannst telnet oder netcat nutzen, um manuell einen Request einzugeben, und die volständige response zu sehen. Man könnte auch z.B. mit wireshark nachsehen, wer was sendet.
> <!DOCTYPE html> > <html> > <head> > <title>WEBSERVER</TITLE></HEAD> > <body><BODY BGCOLOR='#FFFFFF'> > HALLO > </body></html> Und ich dachte immer, MEIN HTML wäre in meiner Anfangszeit Scheiße gewesen. - doppeltes Body-Tag - Formatierung unter aller Sau - keine Angaben über Doctype, Kodierung, Zeichensatz usw.
Ben B. schrieb: > - keine Angaben über Doctype, Kodierung Der korrekte Doctype für HTML5 ist vorhanden. Die Zeichenkodierung könnte im Content-Type header festgelegt worden sein, welchen wir hier nicht sehen.
lass den <BODY BGCOLOR='#FFFFFF'> auch mal weg. Meines Erachtens sollten Konstanten in "" gesetzt sein. Also einfach : <html> <head> <title> Ja - titel </title> </head> <body> Hallo </body> </html>
Daniel A. schrieb: > Du kannst telnet oder netcat nutzen, um manuell einen Request > einzugeben, und die volständige response zu sehen. Oder einfach "wget -S http://192.168.0.90/".
Daniel A. schrieb: > Die Zeichenkodierung > könnte im Content-Type header festgelegt worden sein, welchen wir hier > nicht sehen. Solange man bei 7-Bit ASCII bleibt, ist die auch egal ... ;-) Bernhard S. schrieb: > HALLO Gruß Jobst
- unterschiedliche GROSS/kleinschreibung: <title>WEBSERVER</TITLE> und - doppelter/falscher body verhindert das Anzeigen hier - die anderen beiden Geräte sind da toleranter...
Hallo, Firefox und IE11 zeigen den html-Code trotz des doppelten <body> problemlos an. Griß-/Kleinschreibung bei den TAGs ist zwar unschön, würde mich aber wundern, wenn das eine Rolle spielt. Ich würde eher auf ein Problem im HTTP-Request-Header tippen. Für Firefox gibt es da ein nettes AddOn: Live HTTP Headers Hat mir schon öfter weitergeholfen. Gruß aus Berlin Michael
wireshark - wirkt in solchen fällen oft wunder ;-) (abgesehen von den schon angemerkten html-geschichten) weiteres nützliches hilfsmittel: curl und vergiss den ie8 und 9. die sind dermaßen alt (und abgekündigt), dass sie schon wahrscheinlich schon ramses II im einsatz hatte - dafür irgendeinen gedanken verschwenden lohnt sich nicht. bei uns in der firma gibts bei den teilen nur mehr die auskunft "pech gehabt, da machen wir auch für viel geld nix"
Mach deine HTML Datei erst mal standardkonform. Hier gibts den offiziellen Validator vom W3C: https://validator.w3.org/ Wenn der die Datei erfolgreich validiert, kannste weitermachen...
Danke für Eure hilfreichen Antworten :-) >Ich würde eher auf ein Problem im HTTP-Request-Header tippen. Das vermute ich jetzt auch, werde mich diesbezüglich noch etwas belesen müssen. >wireshark - wirkt in solchen fällen oft wunder stimmt, nutze ich auch "test.htm" wird exakt so vom Webserver gesendet (TCP) >Das ist nicht der HTTP Response Header, sondern der Response >body/Content. >https://en.m.wikipedia.org/wiki/HTTP_message_body >https://validator.w3.org/ >doppelter/falscher body >verhindert das Anzeigen hier - die anderen beiden Geräte sind da >toleranter... >Du kannst telnet oder netcat nutzen >doppeltes Body-Tag >Formatierung unter aller Sau >keine Angaben über Doctype, Kodierung, Zeichensatz usw. Danke für die Tipps >Betreibst du die LED's etwa ohne Vorwiderstände? Nein, diese sind in den 5V LED's schon integriert
MS wurde früher dafür geprügelt, daß IE sich nicht an die Standards hält. Ergebnis war penibles an den Standard halten, das mit diesem hinger..zten HTML Derivat einfach nur macht, was nötig ist: Es wegen diverser Fehler ignorieren. Bin bin sicher kein Fan dieser Firma, aber da haben sie schon recht.
Die Idee, fehlerhaften HTML-Files mit Wireshark zu Leibe zu rücken lese ich hier auch zum 1. mal... ...aber man lernt ja nie aus... Der einzige sinnvolle Hinweis wurde geflissentlich ignoriert: Thosch schrieb: > Hier gibts den offiziellen Validator vom W3C: > https://validator.w3.org/ > > Wenn der die Datei erfolgreich validiert, kannste weitermachen... zumal einem diese Seite ganz genau sagt, wo das Problem ist, und wie das zu lösen ist. kopfschüttel
Ein Versuch mit einem Response Header. Die HTML-Seite wird vom Internet Explorer 8+9 und von den Android Geräten angezeigt. Ihr habt bestimmt noch Ideen, was man verbessern könnte. Ich suche einen einfachen und kleinen Response Header. Mich stört momentan die Content-Length Angabe, geht es auch ohne? PS: Bitte verzeiht meine Unwissenheit, ich bin ein absoluter HTML-Anfänger.
Bernhard S. schrieb: > Mich stört momentan die Content-Length Angabe, geht es auch ohne? Ja, aber dann muss man HTTP/1.0 nehmen und die Verbindung nach dem Senden Schlissen. Edit: Ich würde die Content-Length Angabe einfach generieren lassen.
Mensch Leute! Wenn ihr zu blöd seid, nen HTML-Rumpf zu erzeugen, dann speichert doch einfach euren Rotz im Word als HTML und fertig! Das kann man ja nicht mit ansehen!
> speichert doch einfach euren Rotz im Word als HTML und fertig!
Tolle Idee. Also ob Word vernünftiges HTML generieren würde.
Hallo, Bernhard S. schrieb: > Ein Versuch mit einem Response Header. > > Die HTML-Seite wird vom Internet Explorer 8+9 und von den Android > Geräten angezeigt. > > Ihr habt bestimmt noch Ideen, was man verbessern könnte. > > > Ich suche einen einfachen und kleinen Response Header. > > Mich stört momentan die Content-Length Angabe, geht es auch ohne? > Hallo, sieht doch erstmal gut aus. Ich hatte hier mal eine Diskussion zum Thema Content-Length und HTTP 1.1. Genaugenommen ist die Angabe auch bei 1.1 nicht Pflicht hat sich da herausgestellt. Ich habe sowohl mit als auch ohne und auch HTTP 1.0 und 1.1 mal durchprobiert. Allerdings hatte ich letztlich genau das Problem, daß ein paar Browser da etwas eigene Ansichten zur Anzeige entwickelten. Ich schicke jetzt letztlich eben minimal genau das, was Du auch sendest. Die Content-Length muß stimmen, eine zu kleine Angabe schnitt bei einigen Browserversionen den Rest einfach ab, eine zu große Angabe erzeugtw auf einem älteren Android-Handy sogar ein "Seite nicht erreichbar", weil es wohl auf die restlichen Bytes bis zum timeout wartete. Der HTML-Teil ist auch ok, es gibt da einganz anderes Problem: wenn Du gutes altes HTML 3 benutzt, bekommst Du mit wenig Speicher recht komplexe Seiten mit Tabellen/Formularen o.ä. zustande. Allerdings sind etliche TAgs schon auf der Streichliste, HTML 5, CSS usw. usw. ist sozusagen Pflicht. Damit sprengt die geliche Webseite dann aber Deinen Speicherplatz... Es wird also sicher abshebar aktuelle Browser geben, die die Anzeigen nicht mehr sauber formatieren usw. Meine Homepage ist so ein Fall: http://www.roehres-home.de/amiga_lebt/i_amiga.html dieser Teil stammt aus dem vorigen Jahrtausend, nutzt Frames und Tabellen usw. Noch wird sie von den aktuellen Browsern sauber angezeigt. Alles war auf Platz sparen ausgelegt, 5MB Webspace waren schon viel und als Modem-Nutzer wollte man nicht ewig warten, bis die Seite da war... Auch deshalb liegen meine NetIO inzwischen im Schubfach. Ansonsten aber weiter viel Erfolg mit Deinem Projekt. Gruß aus Berlin Michael
Hallo, ich habe gerade mal geschaut, was mein Provider eigentlich schickt. Er sendet keine Content-Length im HTTP 1.1-Header mit. Wirf sie also mal raus und teste... Gerade noch gesehen: bei der Anfrage von google-analytics schickt er dann wieder eine mit, warum auch immer. Gruß aus Berlin Michael
Hab mir mal die einzelnen Pakete Deiner Hompage mit Wireshark angeschaut. Die Content-Length Angabe wird jedes Mal mit gesendet. Welche Tools zeigen eigentlich den Respose Header mit an, außer Wireshark? Gruß Bernhard
Hallo, ich habe hier in Firefox das "Live HTTP headers 0.17.1" PlugIn installiert, hat dafür bisher gereicht. Gruß aus Berlin Michael
Hallo, in FF ist dafür schon seit etlichen Versionen kein Plugin mehr erforderlich. Unter Extras/Webentwickler/Netzwerkanalyse kann man probelmlos den Request- und Response-Header anzeigen lassen. Sascha
>ich habe hier in Firefox das "Live HTTP headers 0.17.1" PlugIn installiert
funktioniert... danke :-)
Harry L. schrieb: > Mensch Leute! > Wenn ihr zu blöd seid, nen HTML-Rumpf zu erzeugen, dann speichert doch > einfach euren Rotz im Word als HTML und fertig! > > Das kann man ja nicht mit ansehen! Wenn man das mit Word abspeichert hat man tonnenweise proprietäre Tags und die Datei wird gigantisch. Der HTML Syntax ist so oder so Schrott. Passe das mal durch den Validator laufen, es ist tatsächlich gültiger HTML Code:
1 | <!DOCTYPE html>
|
2 | <html>
|
3 | <head>
|
4 | <title>Test</title> |
5 | </head>
|
6 | <body>
|
7 | test |
8 | <p>
|
9 | abc |
10 | <p>
|
11 | def |
Deshalb bin ich ein Fan von XHTML, aber das scheint mittlerweile ausgestorben zu sein...
Hallo, Sascha W. schrieb: > in FF ist dafür schon seit etlichen Versionen kein Plugin mehr > erforderlich. Unter Extras/Webentwickler/Netzwerkanalyse kann man > probelmlos den Request- und Response-Header anzeigen lassen. ok, wieder was gelernt. Hat aber wohl Vor- und Nachteile: wie es scheint muß ich es auf der Seite jeweils aktivieren und es erschlägt einen etwas mit den Einstellungen... Dafür kann es eben etliches mehr. Die kleine Live-Anzeige läuft in einem extra Fenster und zeigt es eben an wenn irgendwas passiert, egal in welchem Tab usw. Gruß aus Berlin Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


