Coole URIs bleiben unverÀndert

Autor — Sir Tim Berners-Lee, Erfinder von URI, URL, HTTP, HTML und dem World Wide Web, gegenwĂ€rtiger Direktor des W3C. Der Artikel wurde 1998 geschrieben.

Welchen URI kann man als „cool“ betrachten?
Einen, der sich nicht Àndert.
Wie Àndern sich URIs?
URIs Àndern sich nicht: Sie werden von Menschen geÀndert.

Theoretisch haben Menschen keinen Grund, URIs zu Ă€ndern (oder die Dokumente nicht mehr zu unterstĂŒtzen), aber in der Praxis gibt es Millionen.

Theoretisch besitzt der nominale Inhaber des Domainnamens tatsĂ€chlich den Namensraum der Domain und damit alle URIs darin. Abgesehen von Insolvenz gibt es nichts, was den Domaininhaber daran hindert, den Namen zu behalten. Und theoretisch steht der URI-Raum unter Ihrem Domainnamen vollstĂ€ndig unter Ihrem Kontrolle, sodass Sie ihn so stabil machen können, wie Sie möchten. In gewissem Maße ist der einzige triftige Grund fĂŒr das Verschwinden eines Dokuments aus dem Internet, dass das Unternehmen, dem der Domainname gehörte, in Konkurs gegangen ist oder sich nicht mehr leisten kann, den Server zu betreiben. Warum gibt es also so viele tote Links in der Welt? Teilweise ist es einfach ein Mangel an Voraussicht. Hier sind einige GrĂŒnde, die man hören könnte:

Wir haben die Website einfach umstrukturiert, um sie besser zu machen.

Glauben Sie wirklich, dass alte URIs nicht mehr funktionieren können? Wenn ja, haben Sie sie sehr schlecht ausgewÀhlt. Denken Sie daran, dass die neuen nach dem nÀchsten Redesign erhalten bleiben.

Wir haben so viel Material, dass wir nicht nachverfolgen können, was veraltet, vertraulich oder noch aktuell ist, und deshalb haben wir gedacht, es wÀre besser, einfach alles abzuschalten.

Ich kann Ihnen nur mein Beileid aussprechen. Das W3C hatte eine Phase, in der wir archivierte Materialien sorgfĂ€ltig auf Datenschutz ĂŒberprĂŒfen mussten, bevor wir sie öffentlich zugĂ€nglich machten. Die Entscheidung sollte im Voraus gut durchdacht werden – stellen Sie sicher, dass Sie mit jedem Dokument einen 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 erbĂ€rmlichsten Ausreden. Viele wissen nicht, dass Webserver Ihnen ermöglichen, die Beziehung 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 machen Sie eine Zuordnung zu jeder RealitĂ€t, die Sie tatsĂ€chlich zur Umsetzung verwenden. Informieren Sie dann den Webserver darĂŒber. Sie können sogar einen Teil Ihres Servers schreiben, um alles richtig zu machen.

John unterstĂŒtzt diese Datei nicht mehr, jetzt macht das Jane.

War Johns Name in der URI? Nein, die Datei lag einfach in seinem Verzeichnis? Verstehe.

FrĂŒher haben wir dafĂŒr CGI-Skripte verwendet, jetzt nutzen wir ein binĂ€res Programm.

Es gibt die verrĂŒckte Idee, dass Seiten, die von Skripten erstellt werden, im Bereich "cgibin" oder "cgi" liegen sollten. Das enthĂŒllt, wie Sie Ihren Webserver starten. Ändern Sie die Mechanik (auch wenn Sie den Inhalt beibehalten), und ups — alle Ihre URIs Ă€ndern sich.

Nehmen wir zum Beispiel die National Science Foundation (NSF):

Online-Dokumente der NSF

http://www.nsf.gov/cgi-bin/pubsys/browser/odbrowse.pl

Die erste Seite zum Starten des Dokumentenansichts wird eindeutig in ein paar Jahren nicht mehr so bleiben. cgi-bin, oldbrowse und pl — all dies gibt Teile von Informationen darĂŒber, wie-wir-es-jetzt-machen. Wenn Sie jedoch eine Seite zur Suche nach einem Dokument verwenden, erhalten Sie als erstes gleich ein schlechtes Ergebnis:

Bericht der Arbeitsgruppe fĂŒr Kryptologie und Codierungstheorie

http://www.nsf.gov/cgi-bin/getpub?nsf9814

fĂŒr die Indexseite des Dokuments, obwohl das eigentliche HTML-Dokument viel besser aussieht:

http://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm

Hier gibt der Titel pubs/1998 jedem zukĂŒnftigen Archivdienst einen guten SchlĂŒssel zum VerstĂ€ndnis, dass das alte Klassifizierungsschema von 1998 noch funktioniert. Obwohl die Dokumentnummern im Jahr 2098 vielleicht anders aussehen, kann ich mir vorstellen, dass diese URI weiterhin gĂŒltig sein wird, und sie wird NSF oder einer anderen Organisation, die das Archiv unterstĂŒtzen wird, nicht im Wege stehen.

Ich dachte nicht, dass URLs konstant sein mĂŒssen – es gab doch URNs.

Wahrscheinlich ist das einer der schlimmsten Nebeneffekte der Diskussion ĂŒber URNs. Einige denken, dass sie aufgrund von Ermittlungen zu einem bestĂ€ndigeren Namensraum lĂ€ssig mit toten Links umgehen können, weil „URN das alles beheben wird“. Wenn Sie einer dieser Menschen sind, lassen Sie sich enttĂ€uschen.

Die meisten URN-Schemata, die ich gesehen habe, Ă€hneln einer AutoritĂ€tskennung, gefolgt entweder von einem Datum und einem von Ihnen gewĂ€hlten String oder einfach nur von einem String, den Sie auswĂ€hlen. Das sieht sehr Ă€hnlich aus wie ein HTTP-URI. Mit anderen Worten, wenn Sie denken, dass Ihre Organisation in der Lage sein wird, langlebige URNs zu erstellen, beweisen Sie es jetzt, indem Sie sie fĂŒr Ihre HTTP-URIs verwenden. Im HTTP selbst gibt es nichts, was Ihren URI instabil macht. Nur Ihre Organisation. Erstellen Sie eine Datenbank, die die URN des Dokuments mit dem aktuellen Dateinamen abgleicht, und lassen Sie den Webserver diese zur tatsĂ€chlichen Dateiabrufung verwenden.

Wenn Sie bis zu diesem Punkt gekommen sind und Sie keine Zeit, kein Geld und keine Kontakte haben, um irgendeine Software zu entwickeln, können Sie folgende Entschuldigung anfĂŒhren:

Wir wollten, hatten aber einfach nicht die nötigen Werkzeuge.

DarĂŒber kann man Mitleid haben. Ich stimme vollkommen zu. Was Sie tun mĂŒssen, ist, den Webserver dazu zu bringen, sofort einen stabilen URI zu verarbeiten und die Datei zurĂŒckzugeben, wo auch immer sie momentan in Ihrem verrĂŒckten Dateisystem gespeichert ist. Sie möchten alle URIs in einer Datei als ÜberprĂŒfung speichern und die Datenbank stĂ€ndig aktuell halten. Sie möchten die Beziehungen zwischen verschiedenen Versionen und Übersetzungen desselben Dokuments beibehalten und auch einen unabhĂ€ngigen PrĂŒfzĂ€hler speichern, um vor DateibeschĂ€digungen durch zufĂ€llige Fehler zu schĂŒtzen. Und Webserver kommen einfach nicht mit diesen Funktionen aus der Box. Wenn Sie ein neues Dokument erstellen möchten, fordert Ihr Editor auf, einen URI festzulegen.

Sie benötigen die Möglichkeit, das Eigentum, den Dokumentenzugriff, das Sicherheitsniveau auf Archivniveau und mehr im URI-Raum zu Àndern, ohne den URI zu Àndern.

Es ist wirklich schlecht. Aber wir werden das beheben. Im W3C verwenden wir die FunktionalitÀt von Jigedit (Jigsaw-Server zur Bearbeitung), die Versionen verfolgt, und experimentieren mit Dokumentenerstellungs-Skripten. Wenn Sie Werkzeuge, Server und Clients entwickeln, achten Sie auf dieses Problem!

Diese Entschuldigung gilt auch fĂŒr viele W3C-Seiten, einschließlich dieser: Also tun Sie das, was ich sage, und nicht das, was ich tue.

Warum sollte mich das interessieren?

Wenn Sie die URI auf Ihrem Server Àndern, können Sie nie ganz sicher sein, wer auf die alte URI verlinken wird. Es könnten Links von normalen Webseiten sein. Lesezeichen auf Ihre Seite. Die URI könnte in den Margen eines Briefes an einen Freund kritzeln.

Wenn jemand auf einen Link klickt und dieser defekt ist, verliert er normalerweise das Vertrauen in den Serverbesitzer. Zudem ist er frustriert – sowohl emotional als auch tatsĂ€chlich, da er sein Ziel nicht erreichen kann.

Viele Menschen beschweren sich stĂ€ndig ĂŒber defekte Links, und ich hoffe, der Schaden ist offensichtlich. Ich hoffe, der reputationsschĂ€digende Effekt fĂŒr den Serveradministrator, wo das Dokument verschwunden ist, ist ebenso klar.

Was soll ich also tun? URI-Design.

Es ist die Pflicht des Website-Betreibers, URIs zu erstellen, die auch in 2 Jahren, in 20 Jahren und sogar in 200 Jahren verwendet werden können. Dazu sind Bedacht, Organisation und Zielstrebigkeit erforderlich.

URIs Ă€ndern sich, wenn sich irgendwelche Informationen darin Ă€ndern. Es ist sehr wichtig, wie Sie sie gestalten. (Was, URI-Design? Muss ich URIs entwerfen? Ja, darĂŒber sollten Sie nachdenken). Design bedeutet hauptsĂ€chlich, dass in der URI keine Informationen enthalten sein sollten.

Das Erstellungsdatum des Dokuments – das Datum, an dem die URI ausgegeben wurde – ist etwas, das sich niemals Ă€ndern wird. Es ist sehr hilfreich, um Anfragen zu trennen, die das neue System verwenden, von denen, die das alte System nutzen. Es ist ein guter Ausgangspunkt fĂŒr die URI. Wenn auf dem Dokument ein Datum angegeben ist, selbst wenn das Dokument in Zukunft relevant sein wird, ist es ein guter Anfang.

Die einzige Ausnahme ist eine Seite, die absichtlich die "letzte" Version ist, zum Beispiel 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 in der Zeitschrift Money. Der Hauptgrund, warum in dieser URI kein Datum benötigt wird, besteht darin, dass es keinen Grund gibt, die URI zu speichern, die lÀnger als die Zeitschrift bestehen wird. Das Konzept von Money Daily wird verschwinden, wenn Money verschwindet. Wenn Sie auf Inhalte verweisen möchten, sollten Sie separat in Archiven darauf verweisen:

http://www.pathfinder.com/money/moneydaily/1998/981212.moneyonline.html

(Sieht gut aus. Geht davon aus, dass "money" im gesamten Verlauf von pathfinder.com dasselbe bedeuten wird. Es gibt eine Dopplung von "98" und den unnötigen ".html", aber ansonsten sieht es nach einer starken URI aus.

Was beiseite lassen?

Alles! Abgesehen vom Erstellungsdatum, indem Sie irgendwelche Informationen in die URI einfĂŒgen, bitten Sie in irgendeiner Weise um Probleme.

  • Name des Autors. Die Urheberschaft kann sich mit neuen Versionen Ă€ndern. Menschen verlassen Organisationen und ĂŒbergeben Dinge an andere.
  • Gegenstand. Es ist sehr kompliziert. Es sieht immer anfangs gut aus, aber Ă€ndert sich erstaunlich schnell. Ich werde das weiter unten nĂ€her erlĂ€utern.
  • Status. Kataloge wie „alt“, „Entwurf“ usw., ganz zu schweigen von „letzte“ und „toll“, erscheinen in allen Dateisystemen. Dokumente Ă€ndern den Status - sonst hĂ€tte es keinen Sinn, EntwĂŒrfe zu erstellen. Die letzte Version eines Dokuments benötigt eine konstante ID, unabhĂ€ngig von ihrem Status. Halten Sie den Status vom Namen fern.
  • Zugang. Im W3C haben wir die Website in Bereiche fĂŒr Mitarbeiter, Mitglieder und die Öffentlichkeit unterteilt. Das klingt gut, aber natĂŒrlich beginnen Dokumente als Teamideen von Mitarbeitern, werden mit Mitgliedern diskutiert und gelangen dann in die Öffentlichkeit. Es ist wirklich Ă€rgerlich, wenn jedes Mal, wenn ein Dokument fĂŒr eine breitere Diskussion geöffnet wird, alle alten Links dazu kaputtgehen! Jetzt wechseln wir zu einem einfachen Datumsformat.
  • Dateierweiterung. Ein sehr verbreitetes PhĂ€nomen. „cgi“, sogar „.html“ werden sich in Zukunft Ă€ndern. Möglicherweise werden Sie in 20 Jahren kein HTML mehr fĂŒr diese Seite verwenden, aber die heutigen Links mĂŒssen trotzdem funktionieren. Die kanonischen Links auf der W3C-Website verwenden keine Erweiterung (wie das gemacht wird).
  • Programmiermechanismen. Suchen Sie in der URI nach „cgi“, „exec“ und anderen Begriffen, die schreien „schau, welche Software wir verwenden“. Will jemand sein ganzes Leben den Perl CGI-Skripten widmen? Nein? Dann entfernen Sie die Erweiterung .pl. Lesen Sie das Serverhandbuch, wie das geht.
  • Laufwerksname. Ach komm! Aber ich habe so etwas schon gesehen.

Also das beste Beispiel von unserer Website ist einfach

http://www.w3.org/1998/12/01/chairs


 ein Bericht ĂŒber das Protokoll des Sitzens der W3C-Vorsitzenden.

Themen und Klassifikation nach Themen

Ich werde ausfĂŒhrlicher ĂŒber diese Gefahr sprechen, da es eine der schwierigsten Dinge ist, zu vermeiden. In der Regel gelangen Themen in die URI, wenn Sie Ihre Dokumente nach der durchgefĂŒhrten Arbeit klassifizieren. Aber diese AufschlĂŒsselung wird sich im Laufe der Zeit Ă€ndern. Die Bezeichnungen der Bereiche werden sich Ă€ndern. Im W3C wollten wir MarkUP in Markup und dann in HTML Ă€ndern, um den tatsĂ€chlichen Inhalt des Abschnitts widerzuspiegeln. Außerdem gibt es hier oft einen flachen Namensraum. Nach 100 Jahren werden Sie mit Sicherheit nichts davon wiederverwenden wollen? In unserem kurzen Leben wollten wir bereits Begriffe wie „Geschichte“ und „Stylesheets“ wiederverwendet sehen.

Es ist eine verlockende Art, eine Website zu organisieren — und tatsĂ€chlich eine sehr verlockende Art, alles zu organisieren, einschließlich des gesamten Webs. Es ist eine ausgezeichnete mittelfristige Lösung, hat aber ernsthafte Nachteile auf lange Sicht.

Teilweise liegen die GrĂŒnde in der Philosophie des Bedeutungsinhalts. Jeder Begriff in der Sprache ist ein potenzielles Clusterobjekt, und jeder Mensch kann eine unterschiedliche Vorstellung 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 Netzwerk einig sind, eine andere Baumdarstellung wĂ€hlen. Das sind meine (hĂ€ufig wiederholten) allgemeinen Anmerkungen zu den Gefahren hierarchischer Klassifikation als allgemeine Lösung.

TatsĂ€chlich binden Sie sich, wenn Sie einen Themenbegriff in der URI verwenden, an eine bestimmte Klassifikation. Möglicherweise bevorzugen Sie in Zukunft eine andere Option. Dann wird die URI anfĂ€llig fĂŒr VerstĂ¶ĂŸe.

Der Grund, warum ein Themenbereich als Teil der URI verwendet wird, liegt darin, dass die Verantwortung fĂŒr die Unterbereiche des URI-Raums normalerweise delegiert wird, und daher benötigen Sie den Namen der organisatorischen Einheit — einer Abteilung, Gruppe oder etwas anderem, das fĂŒr diesen Unterraum verantwortlich ist. Dies bindet die URI an die organisatorische Struktur. Normalerweise ist dies nur sicher, wenn weiter (links) die URI durch ein Datum geschĂŒtzt ist: 1998/pics könnte fĂŒr Ihren Server „das, was wir 1998 unter pics verstanden haben“, statt „das, was wir 1998 mit dem gemacht haben, was wir jetzt pics nennen“, bedeuten.

Vergessen Sie nicht den Domainnamen

Denken Sie daran, dass dies nicht nur den Pfad in der URI betrifft, sondern auch den Servernamen. Wenn Sie separate Server fĂŒr verschiedene Dinge haben, sollten Sie sich bewusst sein, dass diese Trennung nicht mehr geĂ€ndert werden kann, ohne viele, viele Links zu zerstören. Einige klassische Fehler wie „sehen Sie, welche Software wir heute verwenden“ – Domainnamen wie "cgi.pathfinder.com", "secure", "lists.w3.org". Diese wurden erstellt, um die Serveradministration zu erleichtern. Egal, ob die Domain eine Abteilung in Ihrem Unternehmen, den Dokumentstatus, Zugriffsebenen oder Sicherheitsstufen reprĂ€sentiert, seien Sie sehr, sehr vorsichtig, bevor Sie mehr als einen Domainnamen fĂŒr verschiedene Dokumenttypen verwenden. Denken Sie daran, dass Sie viele Webserver innerhalb eines sichtbaren Webservers verstecken können, indem Sie Umleitungen und Proxys verwenden.

Ja, und denken Sie auch ĂŒber Ihren Domainnamen nach. Sie möchten nicht, dass Sie als seife.com bezeichnet werden, nachdem Sie Ihre Produktlinie geĂ€ndert haben und mit der Seifenproduktion aufhören (Entschuldigung an denjenigen, der derzeit soap.com besitzt).

Fazit

Die Beibehaltung der 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 Zukunft wirklich erschweren. 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 passiert, wenn sich alles Ă€ndert. Der Punkt hier ist jedoch, dass sich vieles, sehr vieles Ă€ndern kann, und Ihre URIs gleich bleiben mĂŒssen. Dies ist nur möglich, wenn Sie darĂŒber nachdenken, wie Sie sie erstellen.

Siehe auch:

ErgÀnzungen

Wie man Dateierweiterungen entfernt



aus URIs im aktuellen Webserver basierend auf Dateien?

Wenn Sie beispielsweise Apache verwenden, können Sie es so konfigurieren, dass es den Inhalt abstimmt. Behalten Sie die Dateierweiterung (z. B. .png) in der Datei (z. B. mydog.png), aber man kann auch ohne sie auf Webressourcen verlinken. Dann ĂŒberprĂŒft Apache das Verzeichnis auf das Vorhandensein aller Dateien mit diesem Namen und jeder Erweiterung und kann das beste aus einer Auswahl wĂ€hlen (zum Beispiel GIF und PNG). Es ist nicht nötig, verschiedene Dateitypen in verschiedene Verzeichnisse zu legen; tatsĂ€chlich wird die Inhaltsverhandlung nicht funktionieren, wenn Sie das tun.

  • Konfigurieren Sie Ihren Server fĂŒr die Inhaltsverhandlung
  • Verlinken Sie immer auf URIs ohne Erweiterung

Links mit Erweiterungen funktionieren zwar weiterhin, erlauben es Ihrem Server jedoch nicht, das beste derzeit verfĂŒgbare und zukĂŒnftige Format auszuwĂ€hlen.

(TatsĂ€chlich, meinHund, mydog.png und mydog.gif — gĂŒltige Webressourcen, meinHund — dies ist eine Ressource mit universellem Inhaltstyp, und mydog.png und mydog.gif — Ressourcen eines bestimmten Inhaltstypens).

NatĂŒrlich, wenn Sie Ihren eigenen Webserver schreiben, wĂ€re es nicht schlecht, eine Datenbank zu verwenden, um dauerhafte Identifikatoren mit ihrer aktuellen Form zu verknĂŒpfen, obwohl Sie vor unbegrenztem Wachstum der Datenbank aufpassen sollten.

Schandtafel — Geschichte 1: Channel 7

Im Jahr 1999 habe ich die Schließungen von Schulen aufgrund von Schnee auf der Seite verfolgt http://www.whdh.com/stormforce/closings.shtml. Mann kann nicht warten, bis die Informationen am unteren Bildschirmrand erscheinen! Ich habe einen Link von meiner Homepage gesetzt. Der erste große Schneesturm des Jahres 2000 kommt, und ich ĂŒberprĂŒfe die Seite. Dort steht:

— Stand.
Aktuell ist nichts geschlossen. Bitte kommen Sie bei Wetterwarnungen wieder.

Es kann nicht sein, ein ebenso starker Sturm. Lustig, dass das Datum fehlt. Aber wenn man zur Startseite der Website geht, gibt es eine große SchaltflĂ€che „Geschlossene Schulen“, die zu einer Seite fĂŒhrt http://www.whdh.com/stormforce/ mit einer langen Liste geschlossener Schulen.

Vielleicht haben sie das System zur Beschaffung der Liste geĂ€ndert — aber sie mussten die URI nicht Ă€ndern.

Schandtafel — Geschichte 2: Microsoft Netmeeting

Mit der wachsenden AbhĂ€ngigkeit vom Internet kam die geniale Idee, Posts Links zur Website des Herstellers einzufĂŒgen. Dies wurde oft genutzt und stark missbraucht, aber — die URL darf nicht geĂ€ndert werden. Neulich habe ich einen Link aus dem Client Microsoft Netmeeting 2/something im MenĂŒ Hilfe/Microsoft im Web/Kostenlose Sachen ausprobiert und erhielt einen Fehler 404 — Serverantwort nicht gefunden. Vielleicht wurde es bereits behoben


©1998 Tim BL

Historische Anmerkung: Ende des 20. Jahrhunderts, als dies geschrieben wurde, war „cool“ ein Begriff der Zustimmung, besonders unter Jugendlichen, der auf Mode, QualitĂ€t oder Angemessenheit hinwies. In Eile wurde der URI-Pfad oft aus „Coolness“ ausgewĂ€hlt, und nicht wegen NĂŒtzlichkeit oder Langlebigkeit. Diese Anmerkung ist ein Versuch, die Energie, die hinter der Suche nach Coolness steht, umzuleiten.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster