Kreatívne URI sa nemenia

Autor — sir Tim Berners-Lee, vynálezca URI, URL, HTTP, HTML a celosvetovej siete, aktuálny vedúci W3C. Článok bol napísaný v roku 1998.

Aký URI môžeme považovať za „cool“?
Taký, ktorý sa nemení.
Ako sa URI menia?
URI sa nemenia: menia ich ľudia.

Teoreticky nemajú ľudia žiadny dôvod meniť URI (alebo prestať udržiavať dokumenty), ale v praxi ich sú milióny.

Teoreticky, nominálny majiteľ doménového mena skutočne vlastní doménový priestor a tým pádom všetky URI v ňom. Okrem platobnej neschopnosti, nič nebráni majiteľovi doménového mena udržať si toto meno. A teoreticky je priestor URI pod vaším doménovým menom úplne pod vašou kontrolou, takže ho môžete spraviť tak stabilným, ako chcete. Do značnej miery sa jediný dôvod na zmiznutie dokumentu z internetu týka toho, že firma, ktorej patrilo doménové meno, skrachovala alebo si už nemôže dovoliť udržovať server. Prečo je teda na svete toľko zmiznutých odkazov? Čiastočne je to jednoducho nedostatok predvídavosti. Tu sú niektoré dôvody, ktoré môžete počuť:

Práve sme reorganizovali web, aby sme ho zlepšili.

Naozaj si myslíte, že staré URI nemôžu viac fungovať? Ak áno, vybrali ste ich veľmi zle. Zvážte, že by ste mali zachovať nové po ďalšom redesignu.

Máme tak veľa materiálu, že nemôžeme sledovať, čo je zastarané, čo je dôverné a čo je stále aktuálne, a preto sme si mysleli, že bude lepšie jednoducho to všetko vypnúť.

Môžem len ľutovať. W3C prežila obdobie, keď sme museli starostlivo prehliadať archívne materiály kvôli dôvernosti, predtým ako sme ich sprístupnili verejnosti. Rozhodnutie by malo byť premyslené vopred — uistite sa, že s každým dokumentom zaznamenávate prijateľný okruh čitateľov, dátum vytvorenia a ideálne, dobu platnosti. Uchovávajte tieto metadáta.

No, zistili sme, že je potrebné presunúť súbory...

Toto je jedno z najbiednejších ospravedlnení. Mnohí nevedia, že webové servery vám umožňujú spravovať vzťah medzi URI objektu a jeho skutočnou polohou v súborovom systéme. Predstavte si URI priestor ako abstraktný priestor, ideálne usporiadaný. Potom ho mapujte na akúkoľvek realitu, ktorú skutočne používate pre jeho realizáciu. Potom to oznámte webovému serveru. Môžete dokonca napísať fragment svojho servera, aby ste to urobili správne.

John už tento súbor nepodporuje, teraz to robí Jane.

Bolo meno Johna v URI? Nie, len súbor bol v jeho adresári? No, chápem.

Predtým sme na to používali CGI skript, teraz používame binárny program.

Existuje bláznivá predstava, že stránky vytvorené skriptmi by sa mali nachádzať v oblasti "cgibin" alebo "cgi". To odhaľuje mechanizmus, akým spúšťate svoj webový server. Zmeníte mechanizmus (aj keď uchováte obsah) a ups — všetky vaše URI sa zmenia.

Zoberme si napríklad Národný vedecký fond (NSF):

Online dokumenty NSF

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

Prvá stránka na načítanie dokumentov zrejme nezostane takáto o niekoľko rokov. cgi-bin, oldbrowse a pl — všetko to vydáva častice informácií o tom, ako-to-robíme-teraz. Ak však používate stránku na hľadanie dokumentu, dostanete prvý rovnako zlý výsledok:

Správa pracovnej skupiny o kryptológii a teórii kódovania

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

pre indexovú stránku dokumentu, hoci samotný html dokument vyzerá oveľa lepšie:

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

Tu hlavička pubs/1998 poskytne akémukoľvek budúcemu archívnemu servisu dobrý kľúč na pochopenie toho, ako funguje starý systém klasifikácie dokumentov z roku 1998. Aj keď v roku 2098 môžu čísla dokumentov vyzerať inak, môžem si predstaviť, že toto URI stále bude platné a nijako to neprekáža NSF ani inej organizácii, ktorá bude archív udržiavať.

Nemyslel som si, že URL adresy musia byť trvalé — veď existovali URN.

Pravdepodobne je to jeden z najhorších vedľajších účinkov diskusie o URN. Niektorí si myslia, že kvôli výskumom o trvalejšom priestore mien môžu nezodpovedne zaobchádzať so visiaciami odkazmi, pretože «URN to všetko opraví». Ak ste jedným z týchto ľudí, dovoľte mi vás sklamať.

Väčšina schém URN, ktoré som videl, vyzerá ako identifikátor autority, za ktorým nasleduje buď dátum a reťazec, ktorý si vyberiete, alebo len reťazec, ktorý si vyberiete. Je to veľmi podobné HTTP URI. Inými slovami, ak si myslíte, že vaša organizácia bude schopná vytvárať dlhodobé URN, dokážte to teraz, používaním ich pre vaše HTTP URI. Samotné HTTP nemá nič, čo by robilo vaše URI nestabilným. Iba vaša organizácia. Vytvorte databázu, ktorá mapuje URN dokumentu na aktuálne meno súboru, a nechajte webový server ju používať na skutočné získanie súborov.

Ak ste sa dostali až sem, ak nemáte čas, peniaze a kontakty na vývoj nejakého softvéru, môžete uviesť toto ospravedlnenie:

Chceli sme, ale jednoducho nemáme potrebné nástroje.

Tomu sa dá naozaj súcitiť. Úplne súhlasím. Čo potrebujete, je donútiť webový server, aby okamžite spracoval trvalé URI a vrátil súbor, nech je kdekoľvek v aktuálnom bláznivom súborovom systéme. Chcete uchovávať všetky URI v súbore ako kontrolu a neustále udržiavať databázu aktuálnu. Chcete si udržať vzťahy medzi rôznymi verziami a prekladmi toho istého dokumentu a tiež uchovávať nezávislý záznam kontrolného súčtu na zabezpečenie ochrany pred poškodením súboru náhodnou chybou. A webové servery jednoducho nevyjdú s týmito funkciami hneď po zakúpení. Keď chcete vytvoriť nový dokument, váš editor vás požiada, aby ste zadali URI.

Potrebujete možnosť meniť vlastníctvo, prístup k dokumentu, úroveň bezpečnosti archivovanej úrovne a ďalšie v priestore URI bez zmeny URI.

Všetko je príliš zlé. Ale situáciu napravíme. V W3C používame funkčnosť Jigedit (server Jigsaw na úpravy), ktorý sleduje verzie a experimentujeme so skriptami na vytváranie dokumentov. Ak vyvíjate nástroje, servery a klientov, venujte pozornosť tomuto problému!

Toto ospravedlnenie sa vzťahuje aj na mnohé stránky W3C, vrátane tejto: takže robte to, čo hovorím, a nie to, čo robím.

Prečo by ma to malo zaujímať?

Keď meníte URI na svojom serveri, nikdy nemôžete úplne povedať, kto bude mať odkazy na staré URI. Môžu to byť odkazy z bežných webových stránok. Záložky na vašu stránku. URI mohli byť načrtnuté na okrajoch listu priateľovi.

Keď niekto klikne na odkaz a ten je nefunkčný, zvyčajne stratí dôveru v vlastníka servera. Je tiež sklamaný – emocionálne aj reálne, keď nemôže dosiahnuť svoj cieľ.

Veľa ľudí sa neustále sťažuje na nefunkčné odkazy a dúfam, že poškodenie je evidentné. Dúfam, že je tiež zrejmý reputačný úhľad pre správcu servera, kde dokument zmizol.

Tak čo mám robiť? Navrhnúť URI.

Je povinnosťou webmastera vyberať URI, ktoré budú použiteľné za 2 roky, 20 rokov, 200 rokov. Na to je potrebné premýšľanie, organizovanosť a cieľavedomosť.

URI sa menia, ak sa v nich mení nejaká informácia. Je veľmi dôležité, ako ich navrhnete. (Čo, navrhnúť URI? Musím navrhovať URI? Áno, mali by ste o tom premýšľať). Navrhovanie znamená vo všeobecnosti absenciu akejkoľvek informácie v URI.

Dátum vytvorenia dokumentu – dátum vydania URI – je niečo, čo sa nikdy nezmení. Je veľmi užitočný na oddelenie požiadaviek, ktoré používajú novú systém, od tých, ktoré používajú starý systém. Je dobré začať URI od tohto dátumu. Ak je na dokumente uvedený nejaký dátum, aj keď bude dokument aktuálny v budúcnosti, je to dobrý začiatok.

Jedným výnimku je stránka, ktorá je úmyselne „poslednou“ verziou, napríklad pre celú organizáciu alebo veľkú jej časť.

http://www.pathfinder.com/money/moneydaily/latest/

Toto je posledný stĺpček Money Daily v časopise Money. Hlavný dôvod, prečo v tomto URI nie je potrebný dátum, spočíva v tom, že nie sú žiadne dôvody na zachovanie URI, ktoré prežije časopis. Pojem Money Daily zmizne spolu s Money. Ak chcete odkazovať na obsah, mali by ste sa naň odvolať osobitne v archívoch:

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

(Vyzerá dobre. Predpokladá, že "money" bude mať rovnaký význam počas celej existencie pathfinder.com. Existuje duplicita "98" a nepotrebné ".html", ale inak vyzerá ako silné URI.

Čo nechať stranou

Všetko! S výnimkou dátumu vytvorenia, ak umiestnite akúkoľvek informáciu do URI, žiada sa o nepríjemnosti.

  • Meno autora. Autorská práva sa môžu meniť s novými verziami. Ľudia odchádzajú z organizácií a odovzdávajú veci iným.
  • Predmet. To je veľmi ťažké. Na začiatku to vždy vyzerá dobre, ale neuveriteľne rýchlo sa mení. O tom sa podrobnejšie zmienim nižšie.
  • Stav. Katalógy ako "starý", "návrh" a podobne, nehovoriac o "posledný" a "skvelý", sa objavujú vo všetkých súborových systémoch. Dokumenty menia stav — inak by nemalo zmysel vytvárať návrhy. Posledná verzia dokumentu potrebuje stály identifikátor, bez ohľadu na jej stav. Udržujte stav mimo názvu.
  • Prístup. V W3C sme rozdelili web na sekcie pre zamestnancov, členov a verejnosť. Znie to dobre, ale samozrejme, dokumenty začínajú ako tímové nápady zamestnancov, diskutujú sa s členmi a potom sa stávajú verejnými. Je naozaj smutné, keď sa pri otvorení dokumentu pre širšiu diskusiu všetky staré odkazy naň rozpadnú! Teraz prejdeme na jednoduchý dátumový kód.
  • Prípona súboru. Veľmi bežný jav. "cgi", dokonca ".html" sa v budúcnosti zmení. Možno za 20 rokov nebudete pre túto stránku používať HTML, ale dnešné odkazy na ňu by stále mali fungovať. Kánonické odkazy na webe W3C nepoužívajú príponu (ako sa to robí).
  • Programové mechanizmy. V URI vyhľadajte "cgi", "exec" a ďalšie termíny, ktoré hovoria „pozrite sa, aký softvér používame“. Chce niekto zasvätiť celý život Perl CGI skriptom? Nie? Potom odstráňte príponu .pl. Prečítajte si pokyny servera o tom, ako to urobiť.
  • Názov disku. No tak! Ale videl som to.

Takže najlepší príklad z našich stránok je jednoducho

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

… správa o zápisnici predsedníctva W3C.

Témy a klasifikácia podľa tém

Podrobnejšie sa poviem o tomto nebezpečenstve, pretože je to jedna z najťažších vecí, ktorým sa treba vyhnúť. Zvyčajne sa témy dostanú do URI, keď klasifikujete svoje dokumenty podľa vykonávanej práce. Ale toto rozdelenie sa časom zmení. Názvy oblastí sa zmenia. V W3C sme chceli zmeniť MarkUP na Markup a potom na HTML, aby sme odrážali skutočný obsah sekcie. Okrem toho je tu často plochý priestor názvov. O sto rokov si určite nebudete chcieť nič znovu použiť? Počas nášho krátkeho života sme už chceli znovu použiť „Históriu“ a „Štýlové tabuľky“, napríklad.

Je to lákavý spôsob organizácie webovej stránky - a naozaj lákavý spôsob organizácie čohokoľvek, vrátane celej Siete. Je to skvelé strednodobé riešenie, ale má vážne nevýhody z dlhodobého hľadiska.

Čiastočne sú dôvody ukryté v filozofii významu. Každý termín v jazyku je potenciálnym objektom klastrovania a každý človek môže mať odlišné predstavy o tom, čo znamená. Keďže vzťahy medzi subjektmi sú skôr ako sieť, než ako strom, aj tí, ktorí súhlasia so sieťou, môžu si zvoliť iné zobrazenie stromu. Toto sú moje (často opakované) všeobecné poznámky o nebezpečenstvách hierarchickej klasifikácie ako všeobecného riešenia.

V skutočnosti, keď používate názov témy v URI, viažete sa k istej klasifikácii. Možno, že v budúcnosti preferujete inú možnosť. Potom bude URI náchylné na porušenie.

Dôvodom použitia tematickej oblasti ako časti URI je to, že zodpovednosť za podsekcie priestoru URI sa zvyčajne deleguje, a potom potrebujete názov organizačného orgánu - oddelenia, skupiny alebo niečoho iného, čo nesie zodpovednosť za toto podpriestor. Toto viaže URI na organizačnú štruktúru. Zvyčajne je to bezpečné iba vtedy, keď je ďalej (vľavo) URI chránené dátumom: 1998/pics môže znamenať pre váš server „to, čo sme mali na mysli v roku 1998 pod pics“, a nie „to, čo sme v roku 1998 urobili s tým, čo teraz nazývame pics.“

Nezabudnite na názov domény

Pamätajte, že to sa týka nielen cesty v URI, ale aj názvu servera. Ak máte oddelené servery na rôzne veci, majte na pamäti, že toto rozdelenie nebude možné zmeniť bez toho, aby ste zničili veľké množstvo odkazov. Niektoré klasické chyby, ako napríklad „pozrite sa, aký softvér používame dnes“, sú doménové mená "cgi.pathfinder.com", "secure", "lists.w3.org". Sú vytvorené na to, aby uľahčili správu serverov. Bez ohľadu na to, či doména reprezentuje nejaké oddelenie vo vašej firme, status dokumentu, úroveň prístupu alebo úroveň zabezpečenia, buďte veľmi, veľmi opatrní pred tým, než použijete viac ako jedno doménové meno pre niekoľko typov dokumentov. Pamätajte, že môžete skryť množstvo webových serverov v rámci jedného viditeľného webového servera pomocou presmerovania a proxy.

Áno, a ešte si zamyslite nad svojím doménovým menom. Predsa nechcete, aby vás odkazovali ako na msoap.com, akonáhle zmeníte svoju produktovú líniu a prestanete vyrábať mydlo (ospravedlňujem sa tomu, kto momentálne vlastní soap.com).

Záver

Udržať URI po dobu 2, 20, 200 alebo dokonca 2000 rokov nie je samozrejme tak jednoduché, ako sa zdá. Napriek tomu na celom internete webmasteri robia rozhodnutia, ktoré si v budúcnosti túto úlohu skutočne komplikujú. Často sa to deje preto, že používajú nástroje, ktorých úlohou je prezentovať najlepší web iba v tomto okamihu - a nikto neocenil, čo sa stane s odkazmi, keď sa všetko zmení. Zmyslom tu je to, že veľa, veľmi veľa sa môže zmeniť, a vaše URI môžu a majú zostať rovnaké. To je možné iba vtedy, keď premýšľate o tom, ako ich vytvárate.

Pozri tiež:

Doplnky

Ako odstrániť prípony súborov…

…z URI na aktuálnom webovom serveri na základe súborov?

Ak používate napríklad Apache, môžete ho nastaviť na zhodovanie obsahu. Uchovávate príponu súboru (napríklad .png) v súbore (napríklad, mydog.png), ale na webovú stránku je možné odkazovať aj bez neho. Potom Apache skontroluje adresár na prítomnosť všetkých súborov s týmto názvom a akoukoľvek príponou a môže vybrať najlepší z množiny (napríklad GIF a PNG). A netreba umiestňovať rôzne typy súborov do rôznych adresárov, vlastne zhodnotenie obsahu nebude fungovať, ak to urobíte.

  • Nastavte svoj server na zhodnotenie obsahu
  • Vždy odkazujte na URI bez prípony

Odkazy s príponami stále budú fungovať, ale nedovolia vášmu serveru vybrať najlepší z aktuálne dostupných a budúcich formátov.

(Vlastne, mydog, mydog.png a mydog.gif – platné webové zdroje, mydog – je to zdroj univerzálneho typu obsahu, a mydog.png a mydog.gif – zdroje konkrétneho typu obsahu).

Samozrejme, ak píšete vlastný webový server, bolo by dobré použiť databázu na spojenie trvalých identifikátorov s ich aktuálnou podobou, hoci si dávajte pozor na neobmedzený rast DB.

Nástenka hanby – Príbeh 1: Channel 7

Počas roku 1999 som sledoval uzatváranie škôl kvôli snehu na stránke http://www.whdh.com/stormforce/closings.shtml. Predsa nemôžem čakať, kým sa informácie objavia na spodnej časti obrazovky televízora! Odkazoval som na ňu z mojej domovskej stránky. Prichádza prvá veľká snehová búrka roku 2000 a ja kontrolujem stránku. Píše sa tam:

– K dnešnému dňu.
Momentálne nie je nič zatvorené. Prosím, vráťte sa v prípade varovaní pred počasím.

Nemôže byť, taká silná búrka. Zaujímavé, že dátum chýba. Ale ak prejdete na hlavnú stránku webu, bude tam veľké tlačidlo „Zatvorené školy“, ktoré vedie na stránku http://www.whdh.com/stormforce/ s dlhým zoznamom zatvorených škôl.

Možno zmenili systém získavania zoznamu — ale nemuseli meniť URI.

Nástenka hanby – Príbeh 2: Microsoft Netmeeting

So zvyšujúcou sa závislosťou od internetu prišla inteligencia, že do aplikácií je možné vkladať odkazy na webovú stránku výrobcu. Tým sa často používali a silno zneužívali, ale — nemožno meniť URL. Pred pár dňami som skúsil odkaz z klienta Microsoft Netmeeting 2/something v menu Nápoveda/Microsoft na webe/Zadarmo a dostal som chybu 404 — odpoveď od servera nebola nájdená. Možno to už opravili...

©1998 Tim BL

Historická poznámka: na konci 20. storočia, keď to bolo napísané, slovo „cool“ bolo označením súhlasu, najmä medzi mládežou, signalizujúcim modernosť, kvalitu alebo vhodnosť. V zhone sa cesta URI často volila z dôvodu „coolness“, nie však z praktickosti alebo trvácnosti. Táto poznámka je pokusom presmerovať energiu, ktorá stojí za hľadaním coolness.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster