Chrome, Firefox und das Version-100-Problem

Neue Software, Treiber oder BIOS-Versionen findet ihr hier
[ News about software, drivers and bios can be found here ]
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

Bevor wir auf die Neuerungen des für morgen erwarteten Firefox 99.0 eingehen werden, möchten wir uns dem Version-100-Problem widmen, denn Google hat diesen Sprung bei seinem Webbrowser Chrome bereits vollzogen. Das Version-100-Problem liegt nicht auf Seiten der Webbrowser, sondern vielmehr bei den Webseiten. Oder genauer gesagt bei Webseiten, die nicht mit einer dreistelligen Hauptversion der besuchenden Webbrowser gerechnet haben.

Im Rahmen unserer internen Kompatibilitätstests konnten wir auf www.Au-Ja.de keine Probleme entdecken, doch auf einer handvoll anderer Webseiten schon. Dennoch scheint das Version-100-Problem nicht so große Kreise zu ziehen, wie es die ersten zweistelligen Versionsnummern vor elf Jahren getan hatten. Aber beginnen wir doch am Anfang, denn dann wird alles etwas klarer.

Wo liegt das Problem?
Die Zeichenkette User-Agent stammt aus dem Jahr 1994 und wurde damals vom Firefox-Urvater "Netscape Navigator" eingeführt. Sie enthielt den Code-Namen des Projektes (Mozilla) sowie eine Versionskennung. Im Rahmen der HTTP-Header wird User-Agent an den Webserver übermittelt, damit die Webseite Anpassungen an den vom Benutzer verwendeten Webbrowser vornehmen kann. Dummerweise war HTTP damals noch nicht standardisiert und so entstand beim Header-Format ein ähnlicher Wildwuchs wie bei neuen HTML-Funktionen, die oftmals nur von einem Browser propagiert und von allen übrigen ignoriert wurden. Insbesondere Microsoft setzte sich beim Versuch, dem Web seinen Internet Explorer aufzuzwingen, über etliche etablierte Standards hinweg und provozierte Inkompatibilitäten, um Nutzer wie Webseitenbetreiber an seinen eigenen Browser zu binden. Da der Internet Explorer zum Lieferumfang von Windows gehörte, wurde er schnell zum dominierenden Browser und die Webseiten mussten auf seine Eigenheiten angepasst werden.

Für Web-Entwickler war der User-Agent-String Fluch und Segen zugleich: Einerseits mussten für die unterschiedlichen Browser sehr unterschiedliche Webseiten programmiert werden, anderseits konnte man dank dieser Kennung zumindest allen Besuchern eine passende Version anbieten. Um den User-Agent-String überhaupt auswerten zu können, wird dieser mittels einer Programmiersprache in seine Teile zerlegt. Beim Firefox 99.0 für Windows lautete der User-Agent-String beispielsweise:

Code: Alles auswählen

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Da diese Zeichenkette aber keinem festen Format folgt, gestaltet sich das Parsen, also das Zerlegen und Interpretieren des User-Agent-Strings, recht komplex. Zumeist stecken die Routinen, welche den User-Agent-String verarbeiten, tief verborgen in den Webseiten und wurden seit Jahren nicht mehr angefasst. Und genau hier liegt das Problem: Vor vielen Jahren war der schnelle Veröffentlichungszyklus, den Chrome und Firefox inzwischen an den Tag legen, noch nicht absehbar und etliche Entwickler hatten keine Notwendigkeit für dreistellige Hauptversionen gesehen. Und so kommt es, dass dreistellige Versionsnummer nicht richtig verarbeitet werden und die betroffenen Webseiten fehlerhaft oder auch gar nicht mehr angezeigt werden. Deren Betreiber müssen den verantwortlichen Code daher aufspüren und korrigieren, doch auch das ist gar nicht so einfach. Wurden beispielsweise Anwendungen oder Inhalte von Drittanbietern integriert, können auch diese für die Fehler verantwortlich sein. Insbesondere bei älteren, über längere Zeit nicht mehr oder nur unzureichend gepflegten Angeboten kann dies zu einem größeren Problem werden.

Abhilfe und Maßnahmen
Für Webseiten, die als problematisch bekannt sind, ändert Mozilla die Hauptversion im User-Agent-String automatisch auf 99 ab. Die betroffenen Angebote meldet der Firefox beim Aufruf von "about:compat" in der Adresszeile unter dem Punkt "User Agent Overrides". Diese Maßnahme lässt sich hier auch deaktivieren, beispielsweise um das Problem zu analysieren oder eine fehlerbereinigte Fassung der Webseite zu testen. Alternativ kann man übergangsweise zum Firefox ESR wechseln und sich etwas Zeit verschaffen. Dies bietet sich beispielsweise im firmeninternen Intranet an, wo veralteter Code meist noch länger überlebt als in der freien Wildbahn. Für Chrome wurde die Option ForceMajorInMinorPositionInUserAgent eingeführt, welche standardmäßig deaktiviert ist. Wird sie aktiviert, meldet Chrome als Hauptversion 99 und verfrachtet die eigentliche Hauptversion in die Unterversion, womit die Inkompatibilität zumeist umschifft werden kann.
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Version-100-Problem beim Kunden-Login der Commerzbank

Beitrag von doelf »

Wer die aktuellen Beta-Versionen des Firefox testet, ist bereits mit der Version 100 unterwegs. Der Wechsel zu einer dreistelligen Versionsnummer ist allerdings nicht ganz trivial, zumindest für die Webseiten. Die meisten Webseiten werten nämlich die vom Browser gesendete Zeichenkette "Useragent" aus, um eine optimale Darstellung zu ermöglichen, doch nicht alle sind auf dreistellige Versionsnummern vorbereitet. Ein Beispiel ist der Kunden-Login der Commerzbank.

Vor einigen Monaten wurde der Version-100-Schritt noch als großes Problem gehandelt. Inzwischen ist Google Chrome dreistellig und beim Firefox steht die Veröffentlichung der Version 100 kurz bevor. Dennoch scheinen fast alle Webseiten sauber zu funktionieren oder zumindest nicht viel schlechter als sonst auch. Dass das Version-100-Problem dennoch nicht gänzlich vom Tisch ist, zeigt ein aktuelles Beispiel: Der Kunden-Login der Commerzbank. Mit diesem hatten wir in den letzten Wochen mehrfach zu kämpfen, doch aktuell scheint es nur noch eine einzige Inkompatibilität zu geben: Den Firefox 100. Wenn wir versuchen, uns mit einer aktuellen Beta Version, getestet wurden die Betas 1 bis 8, anzumelden, erscheint die folgende Fehlerseite:

Bild

Dies gilt auch für frische Installationen des Firefox 100 Beta auf einer virtuellen Maschine. Der Fehler tritt zudem unabhängig vom "Schutz vor Aktivitätenverfolgung" und privaten Sitzungen auf. Als User-Agent-String übermittelt der Firefox 100 Beta 8 die folgende Zeichenkette:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
Um ein mögliches Version-100-Problem zu verifizieren, geben wir in der Adresszeile des Browsers "about:config" ein und legen einen neuen Wert namens general.useragent.override als String an. Als Zeichenkette hinterlegen wir:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.9) Gecko/20100101 Firefox/99.9
Ein kurzer Test bestätigt, dass nun die obige Zeichenkette mit der Version 99.9 als User-Agent-String übermittelt wird. Und siehe da: Der Kunden-Login der Commerzbank funktioniert wieder!

Wir haben die technische Abteilung der Commerzbank informiert und zudem Mozilla benachrichtigt. Der Web-Browser kann den Fehler zwar nicht beseitigen, aber durch die Aufnahme der Adresse "https://kunden.commerzbank.de/lp/login" in den Abschnitt "Änderungen des User Agent" unter "about:compat" lässt sich der Fehler zumindest solange umschiffen, bis die Mitarbeiter der Commerzbank die Ursache beheben können. Ein Anmeldeversuch mit Chrome 100.0.4896.127 verlief übrigens fehlerfrei. Hier wurde das Version-100-Problem, sofern es auch für diesen Browser bestand, offenbar schon korrigiert.
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
Mausolos
Insider
Insider
Beiträge: 1420
Registriert: 09 Mär 2015, 20:50
Wohnort: Vierländerregion

Re: Version-100-Problem beim Kunden-Login der Commerzbank

Beitrag von Mausolos »

doelf hat geschrieben: 21 Apr 2022, 12:04 Um ein mögliches Version-100-Problem zu verifizieren, geben wir in der Adresszeile des Browsers "about:config" ein und legen einen neuen Wert namens general.useragent.override als String an. Als Zeichenkette hinterlegen wir:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.9) Gecko/20100101 Firefox/99.9
Ein kurzer Test bestätigt, dass nun die obige Zeichenkette mit der Version 99.9 als User-Agent-String übermittelt wird. Und siehe da: Der Kunden-Login der Commerzbank funktioniert wieder!
Probiere doch Spaßes halber mal diese Versionsnummer beim Firefox 100.0:

Code: Alles auswählen

99.100.0
Ich hatte irgendwo gelesen, dass diese Zählweise als Übergangslösung verwendet werden kann.
männlich weiblich divers ⚨ ⚲ ☿ ⚧ ⚥ ⚦
ein Arzt kann sein «m/w/d» — eine Ärztin ist alleinig «w»
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

@ Mausolos:
Das mit dem 100 an die zweite Stelle verschieben macht Google bei Chrome.

Der Firefox setzt die Version 99 für bekannte Problemseiten. Diese Seiten kann man unter about:compat unter "Änderungen des User Agent" einsehen. Wenn man selbst einen anderen User-Agent-String erzwingen will, geht das nur über general.useragent.override.

Welche Versionsnummern die Seite der Commerzbank sauber verarbeitet, müssen die dortigen Entwickler klären. Eine gute Stunde unbezahltes Debugging reicht mir ;-)

Gruß Michael
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

Ich wollte gerade dann doch mal testen, aber mein Online-Zugang ist jetzt wieder gesperrt ?!?!
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
Mausolos
Insider
Insider
Beiträge: 1420
Registriert: 09 Mär 2015, 20:50
Wohnort: Vierländerregion

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von Mausolos »

doelf hat geschrieben: 21 Apr 2022, 16:54 Das mit dem 100 an die zweite Stelle verschieben macht Google bei Chrome.
Bei mir zeigt die Webseite www.dein-ip-check.de/ an:
Google Chrome 100.0.4896.127
männlich weiblich divers ⚨ ⚲ ☿ ⚧ ⚥ ⚦
ein Arzt kann sein «m/w/d» — eine Ärztin ist alleinig «w»
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

Bei Chrome ist die verschobene 100 ein Workaround, der im Problemfall aktiviert werden kann. Dies ist bei der Commerzbank jedoch nicht notwendig, da die Seite mit Chrome bereits sauber funktioniert.

Wenn ich den User-Agent-String bei Chrome abfrage, kommt übrigens:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
Die Meldung "Google Chrome 100.0.4896.127" ist gekürzt!

Beim Firefox 100 Beta 8 meldet www.dein-ip-check.de hingegen korrekt:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0

Wie man sieht, sind die User-Agent-Strings sehr unterschiedlich. Der Parser für Chrome funktioniert somit anders als der für den Firefox. Daher ist es durchaus normal, dass bei einem Browser die Version 100 sauber funktioniert, beim anderen aber nicht.

Zurück zu Deinem Vorschlag mit der Version 99.100: Diese wird von der Commerzbank sauber verarbeitet. Nur die führende Versionsnummer darf nicht dreistellig werden.

Gruß Michael
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

Heute erscheint der finale Firefox 100 und der Login bei der Commerzbank funktioniert leider immer noch nicht, auch nicht mit der finalen Version des Browsers. Mozilla hat auch noch keinen Workaround geschaltet. Tatsächlich habe ich weder von Mozilla noch von der Commerzbank eine weitere Rückmeldung erhalten. Schade.
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Benutzeravatar
Mausolos
Insider
Insider
Beiträge: 1420
Registriert: 09 Mär 2015, 20:50
Wohnort: Vierländerregion

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von Mausolos »

Vielleicht hat die Commerzbank ihren Webauftritt lediglich für Google-Chrome optimiert.
Genauso wie der MS-Edge-Browser (und u.a. auch der Brave-Browser) basiert dieser auf Chromium.
männlich weiblich divers ⚨ ⚲ ☿ ⚧ ⚥ ⚦
ein Arzt kann sein «m/w/d» — eine Ärztin ist alleinig «w»
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 37784
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Chrome, Firefox und das Version-100-Problem

Beitrag von doelf »

Es gibt ja nur noch drei Browser-Architekturen: Chrome, WebKit und Firefox. Da sollte man schon alle unterstützen, zumal das Problem ja kein grundsätzliches ist, sondern nur eine kaputte Versionsabfrage. Laut Commerzbank soll das Firefox-Problem auch repariert werden. Die Frage ist nur: Wann?

Gruß Michael
Das Platin. Die Platine. Der Platiner?
Ich plädiere auf eine stimmungsabhängige Geschlechtswahl für alle Wörtinnen :twisted:
Antworten