Dietmar M.: URLs

Schöne Nachmittag an alle fleißigen Self-Forum-Leser,

in letzter Zeit sind mir beim Lesen dieses Forums öfter Fragen zum Thema URL aufgefallen.

Wie soll eine URL aussehen?
Welche Gründe gibt es für welche Form?
Was verursacht duplicate content bei Suchmaschinen was Verwirrung bei den Besuchern, wenn eine Seite unter drei verschiedenen Adressen erreichbar ist?
Die Reihe der Fragen ließe sich noch fortsetzen. Ich fände es einmal interessant gesammelt eure (begründeten) Meinungen zu diesem Thema zu erfahren.

Die meisten Internetseiten verwenden Skripte, die für die Generierung der angeforderten Seite verantwortlich sind. Wie sollten die URLs für solche Seiten aussehen?
Mit GET-Parametern? example.de/index.php?cat=1&page=1
Sollten sie eine Ordnerstruktur nachbilden? example.de/cat/page
Sollten sie eine Ordnerstruktur mit beinhaltenden .html-Dateien nachbilden? example.de/cat/page.html

Und um auf das Thema duplicate content bzw. die prinzipiell logischere Struktur einer URL zu kommen:
Mit www. ohne www. falls es sich nicht ohnehin um eine etwaige Domain handelt? Beides? Ist das doppelter Content?
Sollte nach der TLD ein Punkt stehen, wie es soweit ich weiß ganz korrekt wäre? example.de.
Soll bei der oben zweitgenannten Form der abschließende Schrägstrich erzwungen werden?
Wo und wie sollen Anker oder eventuell dennoch benötigte GET-Parameter angehängt werden? Nach einem abschließenden Slash? Sollte zwischen .html und den Parametern auch ein Slash stehen?

Etc.

Und um die Projekt- und URL-Struktur-Frage zu vollenden:
Sprachen über Subdomains wählen? Ordnerstruktur nachbilden, in der für jede Sprache ein eigenes Verzeichnis besteht, und dort dann auch die Kategorien übersetzt sind?
example.de/de/kategorie/seite/#anker?parameter=wert
example.de/en/category/page/#anchor?parameter=value

Mit freundliche Grüßen und Spannung auf eure Meinungen

Dietmar M.

  1. in letzter Zeit sind mir beim Lesen dieses Forums öfter Fragen zum Thema URL aufgefallen.

    Vergiss URL. Es heisst URI oder IRI.

    Alles andere wurde bereits beantwortet.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Vergiss URL. Es heisst URI oder IRI.

      Und wieder mal ein geistreicher Beitrag aus der Kategorie "Hauptsache, die Luft scheppert".

      1. Vergiss URL. Es heisst URI oder IRI.

        ... hat einen extrem niedrigen Noise/Signal-Koeffizienten.

        Und wieder mal ein geistreicher Beitrag aus der Kategorie "Hauptsache, die Luft scheppert".

        ... hat einen extrem hohen Noise/Signal-Koeffizienten mit Einladung zur Themendrift. Meine beliebteste Themendrift geht in Richtung Psychologie. machst du mit?

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
        1. ... hat einen extrem hohen Noise/Signal-Koeffizienten mit Einladung zur Themendrift. Meine beliebteste Themendrift geht in Richtung Psychologie. machst du mit?

          Ist dir das nicht irgendwie peinlich...? So in aller Öffentlichkeit? Ich an deiner werten Stelle würde dem guten Mann erstmal erklären, warum er Deiner Meinung nach dieses und jenes vergessen sollte... noch sind wir hier in einem Fachforum. So war es zumindest früher mal.

          Ich drifte jetzt mal ins Kaffeehaus... du kannst ja woanders hin driften. Wohin auch immer du magst.

          Donnergott

    2. Alles andere wurde bereits beantwortet.

      Ich für meine Person konnte nicht auf alles andere eine Antwort hier im Forum bzw. dem Forumsarchiv finden.

      Vielleicht kann Beat hier zur Lösung beitragen..

      1. Ich für meine Person konnte nicht auf alles andere eine Antwort hier im Forum bzw. dem Forumsarchiv finden.

        Vielleicht kann Beat hier zur Lösung beitragen..

        Ich trage einfach zur Lösung bei: es ist egal - nur konsistent muss es sein. Optional sollte es auch noch Menschelesbar und möglichst kurz sein.

        example.com/produkte/rasenmaeher ist sicher besser als example.com/index.php?kategorie=produkte&artikel=rasenmaeher oder gar example.com/index.php?kategorie=127&artikel=123798

        Irendwelche unsinnigen Dateiendungen dranzuhängen würde ich ebenfalls lassen - besser example.com/kontakt als example.com/kontakt.html - was ist, wenn das web später mal nur noch aus pdf besteht? :p alle links umbenennen auf example.com/kontakt.pdf?

        http://www.w3.org/TR/cooluris/
        http://www.w3.org/Provider/Style/URI

        1. Danke.

          Und was ist deine Meinung zu abschließenden / ?

          Hängt man der von dir genannten Adresse von W3C
              http://www.w3.org/Provider/Style/URI
          ein / an, wird nämlich ein 404 ausgegeben. Es wird also streng zwischen den beiden Versionen unterschieden. Viele CMS beachten das abschließende / nicht. Geben also die Seite unter beiden Adressen aus, heise hängt automatisch das / an, beim CCC ist es egal ob mit oder ohne..
          Vorteile, Nachteile, Argumente, Logik, Standards, ... dazu?

          1. Danke.

            Und was ist deine Meinung zu abschließenden / ?

            4. Absatz - aber es ist im Grunde auch egal wie der in diesem Artikel verlinkte Blogeintrag von Matt Cutts belegt.

            Hängt man der von dir genannten Adresse von W3C
                http://www.w3.org/Provider/Style/URI
            ein / an, wird nämlich ein 404 ausgegeben.

            Ja, es sind auch zwei völlig verschiedene Ressourcen

            example.com/ und example.com ist dasselbe weil "nur Slash" und "leerer Pfad" gleichbedeuten sind, aber alle weiteren Trailing Slashes verändern den Pfad.

            Es wird also streng zwischen den beiden Versionen unterschieden. Viele CMS beachten das abschließende / nicht. Geben also die Seite unter beiden Adressen aus, heise hängt automatisch das / an, beim CCC ist es egal ob mit oder ohne..

            Im Zweifel umleiten oder "zur Not" die andere Variante auch als gültig betrachten, aber selbst konsequent vermeiden.

            Vorteile, Nachteile, Argumente, Logik, Standards, ... dazu?

            Siehe oben.

          2. Und was ist deine Meinung zu abschließenden / ?

            Das ist Teil der Server-Konfiguration.

            Hängt man der von dir genannten Adresse von W3C
                http://www.w3.org/Provider/Style/URI
            ein / an, wird nämlich ein 404 ausgegeben.

            Ja, weil es für diese letztere Adresse kein default-file gibt, das in diesem Fall ausgeliefert würde.

            Nur in einem Fall ist der Slash eine valide Ergänzung: Am Start des Pfades.

            Es wird also streng zwischen den beiden Versionen unterschieden. Viele CMS beachten das abschließende / nicht.

            Es gibt keinen abschliessenden Slash. Es gibt nur den Slash als Docroot.

            http://example.org
            und
            http://example.org/
            sollten das gleiche Ergebnis liefern.

            Wenn du aber hinter dem Pfad erweiterst, dann definierst du eine sogenannte Path-Info.

            http://example.org/somefile.html
            http://example.org/somefile.html/this/is/path/info

            Der Server tested, ob somefile.html als file existiert. Wenn ja behandelt er den Rest als path-info.
            Wenn aber somefile ein Ordner ist, dann schaut er, ob es /this gibt. etc.
            Wenn nichts davon zutrifft, dann wurde eine nicht existierende Ressource verlangt.

            Vorteile, Nachteile, Argumente, Logik, Standards, ... dazu?

            Path-Info wird manchmal noch genutzt in einem Umfeld, wo mod_rewrite nicht zur Verfügung steht.

            mfg Beat

            --
            ><o(((°>           ><o(((°>
               <°)))o><                     ><o(((°>o
            Der Valigator leibt diese Fische
            1. Und was ist deine Meinung zu abschließenden / ?

              Das ist Teil der Server-Konfiguration.

              Nicht unbedingt, wenn man sämtliche Pfade auf eine Webanwendung umgeschrieben werden - z.B. ein CMS - kann ggf. die Serverkoniguration völlig nebensächlich werden.

              http://example.org
              und
              http://example.org/
              sollten das gleiche Ergebnis liefern.

              Gemäß RFC 3986 muss das sogar so sein.

              http://example.org/somefile.html
              http://example.org/somefile.html/this/is/path/info

              Der Server tested, ob somefile.html als file existiert. Wenn ja behandelt er den Rest als path-info.

              Das hängt vom Webserver und dessen Konfiguration ab - du kannst nicht immer von Apache defaultverhalten ausgehen, es soll ja noch andere Produkte geben.

            2. Hi!

              http://example.org
              und
              http://example.org/
              sollten das gleiche Ergebnis liefern.

              Bei diesen beiden Adressen _kann_ es keinen Unterschied geben (falls der Server nicht Zufallselemente in die Response einbaut), weil beide vom Browser in den Request

              GET / HTTP/1.1

              umgesetzt werden. Ein Browser kann einfach keinen komplett leeren Pfad anfordern, weil das ein Protokollfehler wäre. Deshalb setzt ein Browser immer von selbst den Slash, wenn ein Domainname ohne ihn eingegeben wurde.

              Path-Info wird manchmal noch genutzt in einem Umfeld, wo mod_rewrite nicht zur Verfügung steht.

              Man kann PathInfo wunderbar zusammen mit mod_rewrite verwenden. Es spielt vor allem dann seine Stärke aus, wenn beliebig viele Path-Elemente angefügt werden können sollen. Möchte man die Pfadelemente mit mod_rewrite in einen Querystring umschreiben, so ist man recht eingeschränkt, weil man für jede Anzahl Pfadelemente, die man zu verwenden gedenkt, eine eigene RewriteRule benötigt. Stattdessen könnte man mit einer einzigen Regel den Request auf ein Script umschreiben und den Pfad im Ganzen anhängen - im Script explodiert man sich dann die PathInfo nach eigenem Bedarf.

              Lo!

  2. Vielen Dank für die doch auch konstruktiven Beiträgen. Hinweise auf RFC, auf Browserergänzungen und Protokollstandard und die Begründungen.

    Fehlt nur noch eins:

    example.de./
    example.de/

    Punkt ja Punkt nein? Beides? Doppelter Content? Wirklich vollständig wäre es ja nur mit dem Punkt am Ende?

    1. Hallo,

      Fehlt nur noch eins:
      example.de./
      example.de/
      Punkt ja Punkt nein?

      klarer Fall: Kein Punkt!
      Ich habe noch niemanden erlebt, der da einen Punkt setzt; auch wenn es nach den Spezifikationen korrekt ist (was ich bis vor kurzem selbst noch nicht wusste), würde es nur Verwirrung stiften.

      Ciao,
       Martin

      --
      Wichtig ist, was hinten rauskommt.
        (Helmut Kohl, 16 Jahre deutsche Bundesbirne)
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. Fehlt nur noch eins:
        example.de./
        example.de/
        Punkt ja Punkt nein?

        klarer Fall: Kein Punkt!
        Ich habe noch niemanden erlebt, der da einen Punkt setzt; auch wenn es nach den Spezifikationen korrekt ist (was ich bis vor kurzem selbst noch nicht wusste), würde es nur Verwirrung stiften.

        Aus Sicht des Browsers ist
        xy.example.
        nicht das gleiche wie
        xy.example
        Siehe Cookies.

        So handelt es sich um mehr als nur Verwirrung.

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
  3. Hi there,

    Wie soll eine URL aussehen?

    Mehr als "form follows function" gibts dazu eigentlich nicht zu sagen...