Opera und hosts
Houyhnhnm
- browser
Ich habe im LAN einen Apache-Server eingerichtet und auf einem Windows-Client in der hosts-Datei die Namensauflösung eingetragen.
Das funktioniert mit IE und FF wunderbar. Nur Opera macht Zicken und findet die Seite nicht.
Was ich auch etwas eigenartig finde, ist, daß Opera offenbar das file:-Protokoll nicht unterstützt und stattdessen lokale Dateien über localhost adressiert - das geht doch wohl nur, wenn er einen eigenen Web-Server mitbringt.
Warum einfach, wenns auch kompliziert nicht geht... oder hat das irgendwelche Vorteile, die ich mal wieder glatt übersehen habe?
Hallo Houyhnhnm.
Ich habe im LAN einen Apache-Server eingerichtet und auf einem Windows-Client in der hosts-Datei die Namensauflösung eingetragen.
Das funktioniert mit IE und FF wunderbar. Nur Opera macht Zicken und findet die Seite nicht.
Hast du Opera nach Modifikation der hosts-Datei neu gestartet?
Was steht an folgender Stelle im Einstellungen-Dialog?
[Einstellungen]
→ /Erweitert\
→ Netzwerk
→ [Servernamenvervollständigung]
→ [ ] Auch im lokalen Netzwerk suchen
Was ich auch etwas eigenartig finde, ist, daß Opera offenbar das file:-Protokoll nicht unterstützt und stattdessen lokale Dateien über localhost adressiert - das geht doch wohl nur, wenn er einen eigenen Web-Server mitbringt.
Kann ich teilweise nicht nachvollziehen.
Gebe ich „/“ in die Adressleiste ein, so lande ich unter „file://localhost/“, das file-Protokoll wird also unterstützt. Und warum sollte Opera seinen eigenen Webserver mitbringen? Einen localhost gibt es immer.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo Ashura,
die Einstellungen, die Du vorschlägst, sind die Standard-Einstellungen für Opera 8 - die waren aktiv. Auch ein neuer Versuch, auf meinen LAN-Server mit Opera 8 zuzugreifen, brachte kein anderes Ergebnis; weder meine Seite auf dem neu eingerichteten Server, noch der Webmin-Zugang zu der Maschine, auf der der Apache läuft, wird von Opera gefunden. Mit FF, Mozilla und IE geht beides.
Localhost ist nur ein (in hosts verdrahtetes) Synonym für die IP 127.0.0.1. Die gibt es zwar immer, aber es muß irgendwas da sein, das am Port localhost:80 lauscht und die Verbindung zum lokalen Filesystem herstellt, damit Opera auf diesem Weg lokale Dateien zugreifen kann. Soweit ich weiß, macht Windows das nicht von sich aus.
Für mich sieht das Ganze eher so aus, daß Opera die Protokollangabe file: intern stillschweigend ignoriert. (Für die Opera-Entwickler hat das den Vorteil, daß der Browser selbst kein file:-Protokoll können muß und die entsprechende Funktionalität in einen kleinen HTML-Server ausgelagert werden kann.)
Gruß,
Houyhnhnm
Hallo Houyhnhnm.
weder meine Seite auf dem neu eingerichteten Server, noch der Webmin-Zugang zu der Maschine, auf der der Apache läuft, wird von Opera gefunden. Mit FF, Mozilla und IE geht beides.
Sehr merkwürdig. Du solltest auch sämtliche andere Optionen im Einstellungsdialog einmal auf Verdacht überprüfen, etwas spezifisches, was dieses Verhalten auslösen würde, kommt mir aber gerade nicht in den Sinn.
Die gibt es zwar immer, aber es muß irgendwas da sein, das am Port localhost:80 lauscht und die Verbindung zum lokalen Filesystem herstellt, damit Opera auf diesem Weg lokale Dateien zugreifen kann. Soweit ich weiß, macht Windows das nicht von sich aus.
Nein, das tut Windows nicht. Dazu ist ein Webserver erforderlich.
Für mich sieht das Ganze eher so aus, daß Opera die Protokollangabe file: intern stillschweigend ignoriert.
Auch das stimmt nicht.
(Für die Opera-Entwickler hat das den Vorteil, daß der Browser selbst kein file:-Protokoll können muß und die entsprechende Funktionalität in einen kleinen HTML-Server ausgelagert werden kann.)
Warum saugst du dir solchen Unsinn aus den Fingern? Dass Opera bei seiner Implementation des file-Protokolls ein „localhost“ voranstellt, ist gänzlich irrelevant. Mit HTTP, Webservern und Hosts hat all dies nichts zu tun, wir bewegen uns schließlich auf Dateisystemebene.
In meiner hosts-Datei gibt es bspw. gar keinen localhost und dennoch zeigt Opera diese Zeichenkette stets in der URL an. Das ist alles.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo Ashura,
Dass Opera bei seiner Implementation des file-Protokolls ein „localhost“ voranstellt, ist gänzlich irrelevant. Mit HTTP, Webservern und Hosts hat all dies nichts zu tun, wir bewegen uns schließlich auf Dateisystemebene.
Das erklärt nicht, warum der localhost dazugedichtet wird. Irgend einen Sinn muß das doch haben - oder glaubst Du, die Opera-Entwickler murmeln irgendwelche Sprüche vor sich hin, die sie selbst nicht verstehen?
Daß die Serverhypothese nicht stimmen kann, zeigt das Verhalten, wenn man file://localhost:80/c:/bla.html eingibt - dann geht nichts.
Interessanterweise kommt auch IE mit file://localhost/c:/bla.html zurecht - also muß ich wohl mal die einschlägigen RFCs heranziehen...
Warum saugst du dir solchen Unsinn aus den Fingern?
Na ja, das ist der in den Naturwissenschaften übliche Mechanismus: Hypothesenbildung und -überprüfung. Wenn eine Hypothese zu Widersprüchen führt, dann wird sie als unbrauchbar verworfen. Anderenfalls kann sie - muß aber nicht - zur Erklärung eines Phänomens brauchbar sein. Deshalb auch der Zusatz 'für mich sieht das so aus, wie...'.
Ich bin so frei, diese Technik auch in Ingenieurbereichen anzuwenden, um schnell die Stellen zu finden, wo sich tieferes nachbohren lohnen kann. Denken ist eben eine Probehandlung mit minimalem Energieeinsatz - frei nach Sigmund Freud.
Gruß,
Houyhnhnm
Hallo Houyhnhnm.
Das erklärt nicht, warum der localhost dazugedichtet wird. Irgend einen Sinn muß das doch haben
Warum muss es unbedingt einen Sinn ergeben?
oder glaubst Du, die Opera-Entwickler murmeln irgendwelche Sprüche vor sich hin, die sie selbst nicht verstehen?
Was hat das damit zu tun? Und nein, das glaube ich nicht.
Daß die Serverhypothese nicht stimmen kann, zeigt das Verhalten, wenn man file://localhost:80/c:/bla.html eingibt - dann geht nichts.
Natürlich, dafür müsstest du schon mindestens HTTP als Protokoll verwenden, da es Ports üblicherweise im Dateisystem nicht gibt.
Interessanterweise kommt auch IE mit file://localhost/c:/bla.html zurecht - also muß ich wohl mal die einschlägigen RFCs heranziehen...
Nach dem, was der IE macht, kannst du wirklich nicht gehen.
Allgemein solltest du IE und Konqueror hier außen vor lassen, da beide gezielt sowohl Datei- als auch Webbrowser sind. Opera und Firefox dagegen erlauben derzeit nur das Anzeigen von Verzeichnisinhalten.
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo Ashura,
Warum muss es unbedingt einen Sinn ergeben?
Weil kein Ingenieur etwas sinnloses tut, wenn er bei klarem Verstand ist.
Natürlich, dafür müsstest du schon mindestens HTTP als Protokoll verwenden, da es Ports üblicherweise im Dateisystem nicht gibt.
Das ist ein Irrtum Deinerseits: Z.B. stunnel, ein Paket, das alle möglichen über Internet zu übertragenden Protokolle nachträglich und transparent mit Verschlüsselungstechnologie ausstattet, klinkt sich in localhost-Ports ein - mit dem Dateisystem hat das in dem Fall überhaupt nichts zu tun. Ich benutze das Teil tag-täglich, um mich an CVS-Repositorien irgendwo auf dem Netz einzuloggen.
Es gibt also durchaus noch Forschungsbedarf zu den Thema.
Nach dem, was der IE macht, kannst du wirklich nicht gehen.
Es spricht zwar einiges dafür, daß Deine Skepsis nicht unberechtigt ist, aber als Argument in einem konkreten Fall ist es nicht brauchbar, weil zu unspezifisch.
Eigentlich sollte das hier eher unter 'Menschelei' laufen, aber die Forensoftware bietet mir das Feld zum ändern des Themenbereiches mal wieder nicht an. - Geschrieben, Vorschau angewählt und plötzlich ist das Feld 'Themenbereich' wieder da...
Machs gut,
Houyhnhnm
Hallo Houyhnhnm,
Eigentlich sollte das hier eher unter 'Menschelei' laufen, aber die Forensoftware bietet mir das Feld zum ändern des Themenbereiches mal wieder nicht an. - Geschrieben, Vorschau angewählt und plötzlich ist das Feld 'Themenbereich' wieder da...
It's not a bug. It's a feature.
Schöne Grüße,
Johannes
Moin!
Natürlich, dafür müsstest du schon mindestens HTTP als Protokoll verwenden, da es Ports üblicherweise im Dateisystem nicht gibt.
Das ist ein Irrtum Deinerseits: Z.B. stunnel, ein Paket, das alle möglichen über Internet zu übertragenden Protokolle nachträglich und transparent mit Verschlüsselungstechnologie ausstattet, klinkt sich in localhost-Ports ein - mit dem Dateisystem hat das in dem Fall überhaupt nichts zu tun.
Es stimmt, dass es auf "localhost" im TCP-Protokoll Ports gibt. Das file:-Protokoll benutzt aber kein TCP, auch kein IP, folglich auch keine Ports.
Wenn stunnel das anders macht, liegt das einfach daran, dass stunnel IP und TCP benutzt. Das file:-Protokoll ist aber per Definition eben ein Zugriff auf das lokale Dateisystem.
Also bitte nicht Äpfel und Birnen vergleichen.
- Sven Rautenberg
你好 Houyhnhnm,
Das erklärt nicht, warum der localhost dazugedichtet wird.
Gedichtet wird da gar nichts. file://localhost/blahr/blub ist äquivalent zu
file:///blahr/blub/:
fileurl = "file://" [ host | "localhost" ] "/" fpath
再见,
克里斯蒂安
Das erklärt nicht, warum der localhost dazugedichtet wird.
Gedichtet wird da gar nichts. file://localhost/blahr/blub ist äquivalent zu
file:///blahr/blub/:fileurl = "file://" [ host | "localhost" ] "/" fpath
Danke, das erklärt es. Vermutlich steckt in der host-Variante noch Interessantes drin.
Moin!
Dass Opera bei seiner Implementation des file-Protokolls ein „localhost“ voranstellt, ist gänzlich irrelevant. Mit HTTP, Webservern und Hosts hat all dies nichts zu tun, wir bewegen uns schließlich auf Dateisystemebene.
Das erklärt nicht, warum der localhost dazugedichtet wird. Irgend einen Sinn muß das doch haben - oder glaubst Du, die Opera-Entwickler murmeln irgendwelche Sprüche vor sich hin, die sie selbst nicht verstehen?
Sagt dir LAN etwas? Die Adresse file://localhost/pfad/zu/lokaler/datei bezieht sich auf die Datei /pfad/zu/lokaler/datei auf deinem lokalen Rechner. Stellst du nun eine Netzwerkverbindung zu einem anderen Computer namens nocheiner her, könntest du dessen /pfad/zu/lokaler/datei über die URL file://nocheiner/pfad/zu/lokaler/datei aufrufen (sofern das Betriebssystem und der Browser mitspielt, vermute ich, dieses Beispiel muss nicht funktionieren, es soll nur erklären). Die localhost-Variante für Dateien auf deinem Rechner kann man auch abgekürzt schreiben: file:///pfad/zu/lokaler/datei
Daß die Serverhypothese nicht stimmen kann, zeigt das Verhalten, wenn man file://localhost:80/c:/bla.html eingibt - dann geht nichts.
Und das wahrscheinlich bei jedem Webbrowser: Du möchtest das file-Protokoll über Port 80 aufrufen, welches allerdings für HTTP vorgesehen ist. Schau doch einmal in deine /etc/services bzw. %WINDIR%\services (die Datei kann unter Windows auch woanders liegen, befindet sich aber auf jeden Fall irgendwo unterhalb des %WINDIR%); diese Datei listet die Zuordnung Port-Dienst auf. file wirst du dort vergeblich suchen.
Interessanterweise kommt auch IE mit file://localhost/c:/bla.html zurecht - also muß ich wohl mal die einschlägigen RFCs heranziehen...
Vielleicht solltest du deinen Opera einmal mit dieser URL füttern, die sich von obiger ja entscheidend unterscheidet.
Warum saugst du dir solchen Unsinn aus den Fingern?
Na ja, das ist der in den Naturwissenschaften übliche Mechanismus: Hypothesenbildung und -überprüfung. Wenn eine Hypothese zu Widersprüchen führt, dann wird sie als unbrauchbar verworfen.
Was hier wohl angebrachtist.
Anderenfalls kann sie - muß aber nicht - zur Erklärung eines Phänomens brauchbar sein. Deshalb auch der Zusatz 'für mich sieht das so aus, wie...'.
Da hast du vollkommen Recht.
Ich bin so frei, diese Technik auch in Ingenieurbereichen anzuwenden, um schnell die Stellen zu finden, wo sich tieferes nachbohren lohnen kann. Denken ist eben eine Probehandlung mit minimalem Energieeinsatz - frei nach Sigmund Freud.
Wieso beherrschen – nach Aussagen von Menschen, die in Ingenieurswissenschaften tätig sind – viele deiner Kollegen diesen naturwissenschaftlichen Mechanismus nicht? Haperts da schon im Studium?
Viele Grüße,
Robert
Hallo Robert,
Sagt dir LAN etwas? Die Adresse file://localhost/pfad/zu/lokaler/datei bezieht sich auf die Datei /pfad/zu/lokaler/datei auf deinem lokalen Rechner.
Das impliziert aber immer noch einen Zusammenhang zwischen TCP/IP und dem lokalen Filesystem. Auf einem Windows-System existiert localhost nämlich nur im TCP/IP-Protokollstack, file:// dagegen impliziert einen Zugriff auf das lokale Filesystem unter Umgehung von TCP/IP. Für mich ist das ein Widerspruch. Nichtsdestotrotz "funktioniert" so ein Zugriff, und das will mir nicht einleuchten.
So long,
Martin
Hallo Martin,
Auf einem Windows-System existiert localhost nämlich nur im TCP/IP-Protokollstack, file:// dagegen impliziert einen Zugriff auf das lokale Filesystem unter Umgehung von TCP/IP.
Diese Aussage ist falsch. Siehe RFC 1739, Abschnitt »5. BNF for specific URL schemes«:
; FILE
fileurl = "file://" [ host | "localhost" ] "/" fpath
Christian hatte das aber auch schon wiedergegeben.
Schöne Grüße,
Johannes
你好 Der,
Sagt dir LAN etwas? Die Adresse file://localhost/pfad/zu/lokaler/datei
bezieht sich auf die Datei /pfad/zu/lokaler/datei auf deinem lokalen
Rechner.Das impliziert aber immer noch einen Zusammenhang zwischen TCP/IP und
dem lokalen Filesystem.
Ihr habt beide unrecht ;)
file-URLs sind reine Ressource Locators, wie der Zugriff letztenendes
stattfindet (stattfinden kann) wird nicht definiert. Es wird nur und
ausschließlich definiert, wo die Datei liegt. Hätte man aber auch in der
RFC nachlesen können ;)
Übrigens gibt es "host names" nicht nur bei TCP/IP ;) Und der Sonderfall
localhost ist durch die RFC selber abgedeckt.
再见,
克里斯蒂安
Hi
Interessanterweise kommt auch IE mit file://localhost/c:/bla.
html zurecht - also muß ich wohl mal die einschlägigen RFCs
heranziehen...
Interessanter Blog-Eintrag zu der File-Problematik im IE:
http://blogs.msdn.com/freeassociations/archive/2005/05/19/420059.aspx
Gruß
L00NIX