Autor â Sir Tim Berners-Lee, Erfinder von URI, URL, HTTP, HTML und dem World Wide Web, und derzeitiger Leiter des W3C. Der Artikel wurde 1998 verfasst.
Welche URI kann als «cool» betrachtet werden?
Eine, die unverÀndert bleibt.
Wie Àndern sich URIs?
URIs Àndern sich nicht: Menschen Àndern sie.
Im Grunde haben Menschen keinen Grund, URIs zu Ă€ndern (oder Dokumente nicht mehr zu unterstĂŒtzen), aber in der Praxis sind es Millionen.
Theoretisch besitzt der nominelle EigentĂŒmer eines Domainnamens tatsĂ€chlich den Raum der Domainnamen und somit alle URI darin. Abgesehen von der Insolvenz gibt es nichts, was den EigentĂŒmer daran hindert, diesen Namen zu behalten. Theoretisch steht der URI-Raum unter Ihrem Domainnamen vollstĂ€ndig unter Ihrem Kontrolle, sodass Sie ihn so stabil gestalten können, wie Sie möchten. In der Regel ist der einzige triftige Grund dafĂŒr, dass ein Dokument aus dem Internet verschwindet, dass die Firma, der der Domainname gehörte, das GeschĂ€ft eingestellt hat oder sich die Serverunterhaltung nicht mehr leisten kann. Warum gibt es also so viele defekte Links? Teilweise ist es einfach ein Mangel an Weitsicht. Hier sind einige GrĂŒnde, die man oft hört:
Wir haben die Website neu organisiert, um sie zu verbessern.
Haben Sie wirklich das GefĂŒhl, dass alte URIs nicht mehr funktionieren können? Wenn ja, haben Sie sie sehr schlecht ausgewĂ€hlt. Denken Sie darĂŒber nach, dass neue nach dem nĂ€chsten Redesign erhalten bleiben.
Wir haben so viel Material, dass es uns schwerfĂ€llt, den Ăberblick darĂŒber zu behalten, was veraltet, vertraulich oder noch relevant ist. Daher dachten wir, dass es besser wĂ€re, einfach alles abzuschalten.
Ich kann nur mitfĂŒhlen. Das W3C hat eine Phase durchgemacht, in der wir die archivierten Materialien sorgfĂ€ltig auf Datenschutz ĂŒberprĂŒfen mussten, bevor wir sie der Ăffentlichkeit zugĂ€nglich machten. Entscheidungen sollten im Voraus gut durchdacht werden â stellen Sie sicher, dass Sie mit jedem Dokument den akzeptablen Leserkreis, das Erstellungsdatum und idealerweise das Ablaufdatum festhalten. Bewahren Sie diese Metadaten auf.
Nun, wir haben festgestellt, dass wir die Dateien verschieben mĂŒssen...
Das ist eine der schwĂ€chsten Ausreden. Viele wissen nicht, dass Web-Server Ihnen ermöglichen, die Verbindung zwischen der URI eines Objekts und dessen tatsĂ€chlichem Standort im Dateisystem zu verwalten. Stellen Sie sich den URI-Raum als einen abstrakten Raum vor, der perfekt organisiert ist. Dann erstellen Sie eine Zuordnung zu jeder RealitĂ€t, die Sie tatsĂ€chlich fĂŒr dessen Umsetzung verwenden. AnschlieĂend informieren Sie den Web-Server darĂŒber. Sie können sogar einen Teil Ihres Servers schreiben, um alles richtig zu machen.
John unterstĂŒtzt diese Datei nicht mehr, das macht jetzt Jane.
War Johns Name in der URI? Nein, die Datei lag einfach in seinem Verzeichnis. Verstehe.
FrĂŒher haben wir dafĂŒr ein CGI-Skript verwendet, jetzt nutzen wir ein BinĂ€rprogramm.
Es gibt die verrĂŒckte Idee, dass Seiten, die von Skripten erstellt werden, im "cgibin" oder "cgi" Bereich liegen sollten. Das offenbart den Mechanismus, wie Sie Ihren Webserver betreiben. Wenn Sie den Mechanismus Ă€ndern (auch wenn Sie den Inhalt beibehalten), ups â Ă€ndern sich all Ihre URIs.
Nehmen wir beispielsweise die National Science Foundation (NSF):
Online-Dokumente der NSF
http://www.nsf.gov/cgi-bin/pubsys/browser/odbrowse.pl
Die erste Seite, um Dokumente anzusehen, wird in ein paar Jahren offensichtlich nicht mehr so aussehen. cgi-bin, oldbrowse und pl â all das gibt Informationen darĂŒber, wie-wir-es-jetzt-machen. Wenn Sie jedoch die Seite zur Suche nach einem Dokument verwenden, erhalten Sie als Erstes ebenfalls ein schlechtes Ergebnis:
Bericht der Arbeitsgruppe zur Kryptologie und Codierungstheorie
http://www.nsf.gov/cgi-bin/getpub?nsf9814
fĂŒr die Indexseite des Dokuments, obwohl das HTML-Dokument selbst deutlich besser aussieht:
http://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm
Hier gibt der Titel pubs/1998 jedem zukĂŒnftigen Archivdienst eine wertvolle Vorlage, um die alte Klassifizierungsschema von 1998 zu verstehen. Auch wenn die Dokumentennummern im Jahr 2098 möglicherweise anders aussehen, kann ich mir gut vorstellen, dass dieser URI weiterhin gĂŒltig sein wird und keiner NSF oder einer anderen Organisation, die das Archiv unterstĂŒtzt, im Wege stehen wird.
Ich dachte nicht, dass URLs dauerhaft sein mĂŒssen â schlieĂlich gab es doch URNs.
Das ist wahrscheinlich einer der schlimmsten Nebeneffekte der Diskussion ĂŒber URNs. Einige glauben, dass sie aufgrund von Forschungen ĂŒber ein stabileres Namenssystem nachlĂ€ssig mit fehlerhaften Links umgehen können, da "URNs alles beheben werden". Wenn Sie einer dieser Leute sind, dann lassen Sie sich von mir enttĂ€uschen.
Die meisten URN-Schemata, die ich gesehen habe, sehen aus wie eine Identifikationsnummer, gefolgt entweder von einem Datum und einer von Ihnen gewĂ€hlten Zeichenfolge oder einfach nur einer von Ihnen gewĂ€hlten Zeichenfolge. Das Ă€hnelt sehr einem HTTP-URI. Mit anderen Worten, wenn Sie denken, dass Ihre Organisation in der Lage sein wird, langlebige URNs zu erstellen, dann beweisen Sie das jetzt, indem Sie sie fĂŒr Ihre HTTP-URIs verwenden. Im HTTP selbst gibt es nichts, was Ihr URI instabil macht. Nur Ihre Organisation. Erstellen Sie eine Datenbank, die URN-Dokumente mit den aktuellen Dateinamen verknĂŒpft, und lassen Sie den Webserver diese zur tatsĂ€chlichen Dateiabholung nutzen.
Wenn Sie bis zu diesem Punkt gekommen sind und keine Zeit, kein Geld und keine Ressourcen haben, um eine Software zu entwickeln, können Sie die folgende Ausrede vorbringen:
Wir wollten, aber wir haben einfach nicht die nötigen Werkzeuge.
Darum kann man nur Mitleid haben. Ich stimme Ihnen vollkommen zu. Was Sie tun mĂŒssen, ist, den Webserver dazu zu bringen, eine permanente URI sofort zu verarbeiten und die Datei zurĂŒckzugeben, wo auch immer sie sich gerade in Ihrem verrĂŒckten Dateisystem befindet. Sie möchten alle URIs in einer Datei als ĂberprĂŒfung speichern und stĂ€ndig die Datenbank auf dem neuesten Stand halten. AuĂerdem möchten Sie die Beziehungen zwischen verschiedenen Versionen und Ăbersetzungen desselben Dokuments bewahren sowie einen separaten PrĂŒfzĂ€hler fĂŒr den Schutz gegen DateibeschĂ€digungen durch zufĂ€llige Fehler aufrechterhalten. Und Webserver bieten diese Funktionen einfach nicht von Haus aus. Wenn Sie ein neues Dokument erstellen möchten, fordert Ihr Editor zur Eingabe der URI auf.
Sie benötigen die Möglichkeit, das Eigentum, den Zugriff auf das Dokument, das Sicherheitsniveau auf Archivsebene und mehr im URI-Bereich zu Àndern, ohne die URI selbst zu Àndern.
Alles ist viel zu schlecht. Aber wir werden die Situation beheben. Bei W3C nutzen wir die FunktionalitÀt von Jigedit (Jigsaw-Server zum Editieren), die Versionen nachverfolgt, und experimentieren mit Skripten zur Dokumentenerstellung. Wenn Sie Werkzeuge, Server und Clients entwickeln, beachten Sie dieses Problem!
Diese Ausrede gilt auch fĂŒr viele Seiten des W3C, einschlieĂlich dieser: Also tun Sie, was ich sage, nicht was ich tue.
Warum sollte mich das interessieren?
Wenn Sie die URI auf Ihrem Server Àndern, können Sie niemals genau sagen, wer Links zur alten URI hat. Das können Links von normalen Webseiten sein. Lesezeichen zu Ihrer Seite. Die URI könnte in den Rand eines Briefes an einen Freund gekritzelt worden sein.
Wenn jemand einem Link folgt und dieser kaputt ist, verliert er normalerweise das Vertrauen zum Serverbesitzer. Er ist auch enttĂ€uscht â sowohl emotional als auch tatsĂ€chlich, weil er sein Ziel nicht erreichen kann.
Viele Menschen beschweren sich stĂ€ndig ĂŒber defekte Links, und ich hoffe, dass der Schaden offensichtlich ist. Ich hoffe, dass auch der Reputationsschaden fĂŒr den Wartenden des Servers, auf dem das Dokument verschwunden ist, offensichtlich ist.
Was soll ich also tun? URI-Design
Es ist die Verantwortung des Webmasters, URIs zu identifizieren, die in zwei Jahren, in zwanzig Jahren und sogar in zweihundert Jahren verwendet werden können. DafĂŒr bedarf es sorgfĂ€ltiger Ăberlegung, Organisation und Zielstrebigkeit.
URIs Ă€ndern sich, sobald sich Informationen darin verĂ€ndern. Die Art und Weise, wie Sie sie entwerfen, ist von entscheidender Bedeutung. (Was, das Design von URIs? Muss ich URIs entwerfen? Ja, darĂŒber sollten Sie nachdenken). Entwerfen bedeutet hauptsĂ€chlich, keine Informationen in den URIs zu haben.
Das Erstellungsdatum eines Dokuments â das Datum, an dem die URI vergeben wird â ist etwas, das sich niemals Ă€ndern wird. Es ist sehr nĂŒtzlich, um Anfragen, die das neue System nutzen, von denen, die das alte System verwenden, zu unterscheiden. Es ist ein guter Anfang fĂŒr eine URI. Wenn ein Datum auf dem Dokument vermerkt ist, selbst wenn das Dokument in Zukunft relevant bleibt, ist das ein guter Ausgangspunkt.
Die einzige Ausnahme bildet eine Seite, die absichtlich die âletzteâ Version ist, beispielsweise fĂŒr die gesamte Organisation oder einen groĂen Teil davon.
http://www.pathfinder.com/money/moneydaily/latest/
Dies ist die letzte Kolumne von Money Daily im Money-Magazin. Der Hauptgrund, warum in dieser URI kein Datum erforderlich ist, liegt darin, dass es keine GrĂŒnde gibt, die URI aufrechtzuerhalten, die das Magazin ĂŒberdauern wĂŒrde. Der Begriff Money Daily wird verschwinden, wenn Money verschwindet. Wenn Sie auf Inhalte verweisen möchten, tun Sie dies bitte separat in Archiven.
http://www.pathfinder.com/money/moneydaily/1998/981212.moneyonline.html
(Sieht gut aus. Es wird angenommen, dass "money" throughout die gesamte Existenz von pathfinder.com dasselbe bedeuten wird. Es gibt eine Wiederholung von "98" und ein unnötiges ".html", aber ansonsten sieht es nach einer starken URI aus.
Was beiseite gelassen werden sollte
Alles! Abgesehen vom Erstellungsdatum fĂŒhrt das EinfĂŒgen von irgendwelchen Informationen in die URI nur zu Problemen.
- Name des Autors. Die Autorenschaft kann sich mit der Veröffentlichung neuer Versionen Ă€ndern. Personen verlassen Organisationen und ĂŒbergeben ihre Arbeiten an andere.
- Thema. Das ist sehr kompliziert. Es erscheint zunÀchst immer gut, Àndert sich aber erstaunlich schnell. Ich werde dies weiter unten nÀher erlÀutern.
- Status. Kategorien wie âaltâ, âEntwurfâ und so weiter, ganz zu schweigen von âletzteâ und âcoolâ, sind in allen Dateisystemen prĂ€sent. Dokumente Ă€ndern ihren Status â andernfalls hĂ€tte es keinen Sinn, EntwĂŒrfe zu erstellen. Die letzte Version eines Dokuments benötigt eine permanente Identifikation, unabhĂ€ngig von ihrem Status. Halten Sie den Status vom Namen getrennt.
- Zugriff. Bei W3C haben wir die Website in Bereiche fĂŒr Mitarbeiter, Mitglieder und die Ăffentlichkeit unterteilt. Das klingt gut, aber natĂŒrlich beginnen Dokumente als teaminterne Ideen, werden mit Mitgliedern diskutiert und gelangen dann in die Ăffentlichkeit. Es ist wirklich bedauerlich, wenn jedes Mal, wenn ein Dokument fĂŒr eine breitere Diskussion geöffnet wird, alle alten Links darauf brechen! Nun wechseln wir zu einem einfachen Datumsformat.
- Dateierweiterung. Ein sehr hĂ€ufiges PhĂ€nomen. "cgi", selbst ".html" werden sich in Zukunft Ă€ndern. Vielleicht verwenden Sie in 20 Jahren kein HTML mehr fĂŒr diese Seite, aber die heutigen Links dazu sollten dennoch funktionieren. Kanonische Links auf der W3C-Website verwenden keine Erweiterung ().
- Softwaremechanismen. Suchen Sie in der URI nach "cgi", "exec" und anderen Begriffen, die rufen: âSchau, welche Software wir verwendenâ. Möchte jemand sein ganzes Leben damit verbringen, Perl CGI-Skripte zu schreiben? Nein? Dann entfernen Sie die .pl-Erweiterung. Lesen Sie die Serveranleitung, wie Sie das tun können.
- Der Name der Festplatte. Komm schon! Aber ich habe so etwas schon gesehen.
Das beste Beispiel von unserer Seite ist einfach
http://www.w3.org/1998/12/01/chairs
⊠der Protokollbericht der W3C-Vorsitzenden.
Themen und Klassifizierung nach Themen
Ich werde genauer ĂŒber diese Gefahr sprechen, da es eine der schwersten Dinge zu vermeiden ist. In der Regel gelangen Themen in die URI, wenn Sie Ihre Dokumente nach ausgefĂŒhrten Arbeiten klassifizieren. Aber diese Aufteilung wird sich im Laufe der Zeit Ă€ndern. Die Namen der Bereiche werden sich Ă€ndern. Im W3C wollten wir MarkUP in Markup und dann in HTML umbenennen, um den tatsĂ€chlichen Inhalt des Abschnitts widerzuspiegeln. AuĂerdem gibt es hier oft einen flachen Namensraum. Sind Sie sich sicher, dass Sie in 100 Jahren nichts wiederverwenden möchten? In unserem kurzen Leben haben wir bereits daran gedacht, âGeschichtenâ und âStylesheetsâ wiederzuverwenden, zum Beispiel.
Es ist eine verlockende Art, eine Webseite zu organisieren â und tatsĂ€chlich eine verlockende Art, alles zu organisieren, einschlieĂlich des gesamten Internets. Es ist eine gute kurzfristige Lösung, hat jedoch ernsthafte Nachteile auf lange Sicht.
Teilweise liegen die GrĂŒnde in der Philosophie des Sinns. Jeder Begriff in einer Sprache ist ein potenzielles Clusterobjekt, und jeder Mensch kann unterschiedliche Vorstellungen davon haben, was er bedeutet. Da die Beziehungen zwischen den Subjekten eher einem Netz als einem Baum Ă€hneln, können selbst diejenigen, die sich mit dem Netz einig sind, eine andere Vorstellung vom Baum wĂ€hlen. Das sind meine (hĂ€ufig geĂ€uĂerten) allgemeinen Anmerkungen zu den Gefahren hierarchischer Klassifizierung als allgemeiner Lösung.
TatsÀchlich, wenn Sie den Namen eines Themas in einer URI verwenden, binden Sie sich an eine bestimmte Klassifizierung. Möglicherweise bevorzugen Sie in Zukunft eine andere Option. In diesem Fall wÀre die URI gefÀhrdet.
Der Grund fĂŒr die Verwendung von Themenbereichen als Teil einer URI liegt darin, dass die Verantwortung fĂŒr Unterabschnitte des URI-Raums normalerweise delegiert wird. Daher benötigen Sie den Namen des organisatorischen Bereichs â sei es eine Abteilung, Gruppe oder etwas anderes, das fĂŒr diesen Unterbereich verantwortlich ist. Dies bindet die URI an die organisatorische Struktur. In der Regel ist dies nur dann sicher, wenn die URI weiter (links) durch ein Datum geschĂŒtzt ist: 1998/pics könnte fĂŒr Ihren Server "das darstellen, was wir 1998 unter pics verstanden haben", anstatt "das, was wir 1998 mit dem gemacht haben, was wir jetzt pics nennen".
Vergessen Sie nicht den Domainnamen
Denken Sie daran, dass dies nicht nur fĂŒr den URI-Weg gilt, sondern auch fĂŒr den Servernamen. Wenn Sie separate Server fĂŒr verschiedene Zwecke haben, bedenken Sie, dass diese Trennung nicht ohne weiteres geĂ€ndert werden kann, ohne viele, viele Links zu zerstören. Einige klassische Fehler wie "sehen Sie sich an, welche Software wir heute verwenden" â Domainnamen wie "cgi.pathfinder.com", "secure", "lists.w3.org". Diese wurden erstellt, um die Verwaltung von Servern zu erleichtern. Egal, ob die Domain eine Abteilung in Ihrem Unternehmen, den Status eines Dokuments, den Zugangslevel oder das Sicherheitsniveau darstellt, seien Sie Ă€uĂerst vorsichtig, bevor Sie mehr als einen Domainnamen fĂŒr mehrere Dokumenttypen verwenden. Denken Sie daran, dass Sie viele Webserver innerhalb eines sichtbaren Webservers verstecken können, indem Sie Weiterleitungen und Proxy-Server nutzen.
Ja, und denken Sie auch ĂŒber Ihren Domainnamen nach. Sie wollen bestimmt nicht, dass man auf Sie als soap.com verweist, nachdem Sie Ihre Produktlinie geĂ€ndert und die Seifenproduktion eingestellt haben (Entschuldigung an den aktuellen Besitzer von soap.com).
Fazit
Die dauerhafte Speicherung von URIs ĂŒber 2, 20, 200 oder sogar 2000 Jahre ist offensichtlich nicht so einfach, wie es scheint. Dennoch treffen Webmaster im gesamten Internet Entscheidungen, die es ihnen in der Zukunft wirklich erschweren werden. Oft geschieht dies, weil sie Werkzeuge verwenden, deren Aufgabe es ist, die beste Website nur im Moment darzustellen â und niemand hat bedacht, was mit den Links geschieht, wenn sich alles Ă€ndert. Der Kernpunkt ist jedoch, dass sich vieles, sehr vieles Ă€ndern kann, und Ihre URIs sollten unverĂ€ndert bleiben. Das ist nur möglich, wenn Sie darĂŒber nachdenken, wie Sie sie erstellen.
Siehe auch:
Erweiterungen
Wie man Dateiendungen entferntâŠ
âŠaus URIs auf dem aktuellen Webserver basierend auf Dateien?
Wenn Sie beispielsweise Apache verwenden, können Sie es so konfigurieren, dass es den Inhalt abgleicht. Behalten Sie die Dateiendung (z.B. .png) in der Datei (z.B. mydog.png), aber Sie können auch ohne Verweis auf die Webressource verlinken. AnschlieĂend ĂŒberprĂŒft Apache das Verzeichnis auf alle Dateien mit diesem Namen und jeder Erweiterung und kann das beste aus einer Sammlung auswĂ€hlen (z. B. GIF und PNG). Es ist nicht erforderlich, verschiedene Dateitypen in verschiedene Verzeichnisse zu legen; tatsĂ€chlich wird die Inhaltsverhandlung nicht funktionieren, wenn Sie dies tun.
- Konfigurieren Sie Ihren Server fĂŒr die Inhaltsverhandlung
- Verlinken Sie immer auf URIs ohne Erweiterung
Links mit Erweiterungen funktionieren weiterhin, erlauben Ihrem Server jedoch nicht, das Beste aus den derzeit verfĂŒgbaren und zukĂŒnftigen Formaten auszuwĂ€hlen.
(TatsĂ€chlich, meineHunde, mydog.png und mydog.gif â gĂŒltige Webressourcen, meineHunde â dies ist eine Ressource des universellen Inhaltstyps und mydog.png und mydog.gif â Ressourcen eines bestimmten Inhaltstyps).
NatĂŒrlich, wenn Sie Ihren eigenen Webserver schreiben, ist es ratsam, eine Datenbank zu verwenden, um permanente Identifikatoren an ihre aktuelle Form zu binden, obwohl Sie vorsichtig sein sollten, um unkontrolliertes Wachstum der DB zu vermeiden.
Blamage â Geschichte 1: Channel 7
Im Jahr 1999 habe ich die SchlieĂung von Schulen aufgrund von Schnee auf der Seite verfolgt. http://www.whdh.com/stormforce/closings.shtml. Warten Sie nicht darauf, dass die Informationen am unteren Bildschirmrand erscheinen! Ich habe einen Link zu meiner Startseite gesetzt. Der erste groĂe Schneesturm des Jahres 2000 steht bevor und ich prĂŒfe die Seite. Dort steht:
â Aktueller Stand.
Derzeit ist nichts geschlossen. Bitte kommen Sie bei Wetterwarnungen zurĂŒck.
Es kann doch nicht sein, dass es einen so starken Sturm gibt. Lustig, dass das Datum fehlt. Aber wenn man zur Startseite der Website geht, gibt es eine groĂe SchaltflĂ€che âGeschlossene Schulenâ, die zur Seite fĂŒhrt http://www.whdh.com/stormforce/ mit einer langen Liste geschlossener Schulen.
Vielleicht haben sie das System zur Abrufung der Liste geĂ€ndert â aber die URI hĂ€tte nicht geĂ€ndert werden mĂŒssen.
Schwarzes Brett â Geschichte 2: Microsoft Netmeeting
Mit der zunehmenden AbhĂ€ngigkeit vom Internet kam die clevere Idee, Links zur Website des Herstellers in Anwendungen einzufĂŒgen. Das wurde oft genutzt und ĂŒbermĂ€Ăig missbraucht, aber â die URL darf nicht geĂ€ndert werden. Erst neulich habe ich einen Link aus dem Microsoft Netmeeting 2/something-Client im MenĂŒ Hilfe/Microsoft im Web/Gratis-Angebote ausprobiert und erhielt einen Fehler 404 â Serverantwort nicht gefunden. Vielleicht wurde es ja bereits behobenâŠ
©1998
Historische Anmerkung: Ende des 20. Jahrhunderts, als dies geschrieben wurde, war âcoolâ ein Begriff der Zustimmung, besonders unter Jugendlichen, der auf Stil, QualitĂ€t oder Angemessenheit hinwies. In der Hektik wurde der URI-Weg hĂ€ufig aus âCoolnessâ und nicht aus NĂŒtzlichkeit oder Langlebigkeit gewĂ€hlt. Diese Anmerkung ist ein Versuch, die Energie, die hinter der Suche nach âCoolnessâ steht, neu zu lenken.
Quelle: habr.com
