HTML vermutlich Header Problem ?

OP #4582975
Lesenswert?
• ▲
▼
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
Angehängte Dateien:
OP #4582988
Lesenswert?
• ▲
▼
>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.
#4583016
Lesenswert?
• ▲
▼
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.
(Firma: Funkenflug Industries) #4583028
Lesenswert?
• ▲
▼
> <!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.
#4583569
Lesenswert?
• ▲
▼
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
Gast #4583598
Lesenswert?
• ▲
▼
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"
OP #4583958
Lesenswert?
• ▲
▼
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
#4584008
Lesenswert?
• ▲
▼
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.
#4585741
Lesenswert?
• ▲
▼
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
OP #4585753
Lesenswert?
• ▲
▼
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.
Angehängte Dateien:
#4585885
Lesenswert?
• ▲
▼
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
#4585897
Lesenswert?
• ▲
▼
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
#4586183
Lesenswert?
• ▲
▼
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...
#4586189
Lesenswert?
• ▲
▼
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren