On 22 Nov 2004 20:28:52 GMT, Jacob Atzen <jacob@aub.dk> wrote:
>> Hvis du bare vil skulle fil endelser, f.eks .php, hvilket der er god
>> mening i...
>Er der andre argumenter for dette end "Security by obscurity"?
Lettere URLs at remse op i telefonen og at huske.
Lettere at skifte platform og teknologi uden at skulle ændre URLs
("Cool URIs don't change").
Kommentar til misforståelsen om at URLs absolut skal mappe et
filhierarki (blot at bruge mapper som URLs og smide index.php-filer i
for simple URLs er kun et lille skridt)
Jeg er personligt træt af at forskellige sites "bliver nødt til" at
have URLs med /cgi-bin/ , /servlet/ , etc. Der har i adskillige år
været tusindevis af teknikker til pænere URLs, og der kommer flere med
tiden. Alligevel er historien fyldt med URLs, der har ændret sig uden
at ramme den rigtige ressourcer (enten transparent overfor brugeren
eller ved en simpel redirect), fordi folk har rettet URLs fra at hedde
..php3 til at hedde .php (eller .php4 eller .php5 - when will they ever
learn? :) - eller fx .htm til .asp til .aspx
Der er sjældent nogen formidlende omstændigheder, udover i de
tilfælde, hvor et site er ganske statisk og der sjældent er besøgende,
der taster sig ind på diverse URLs - eller fx URLs der rent faktisk er
ment til at mappe direkte til filer. Typisk hvis man har en
junkyard-mappe, man lige flytter sjove videoklip, screenshots, etc.
over i og smider URLs til folk. Der er sikkert et par ekstra
undtagelser, hvor de fleste dækkes ind under investering af tid i
forhold til udbytte. Omvendt set, hvis man er til det argument, så
kunne man også argumentere for at man ikke behøver at validere sin
kode (forudsat at man ikke skriver korrekt kode i første omgang :) ,
fordi det ikke ændrer det store på resultatet.
Nogle teknologier til at kompensere for dette er at redirecte gamle
URLs (dog desværre typisk ofte blot med en 302 i stedet for en 301)
eller at bruge mappers navne som URLs - mapper, man bare smider en
index.php i. Ulempen her kan bl.a. være et ekstra redirect (fra
/kontaktos til /kontaktos/ ) samt at man ender med en masse
index.php-filer med mulighed for småforvirring.
Et eksempel er
http://www.microsoft.com/ie , der heldigvis stadigvæk
virker.
Den redirecter dog til
http://www.microsoft.com/ie/ (sandsynligvis af
helt almindelige mappe-årsager for at sikre at relative stier virker,
som enhver webserver ville gøre).
Denne har så henvisninger og javascript-redirect til
http://www.microsoft.com/windows/ie/default.htm .
Denne foretager så en meta refresh i HTML'en til
http://www.microsoft.com/windows/ie/default.asp
Denne foretager så en meta refresh i HTML'en til
http://www.microsoft.com/windows/ie/default.mspx
Lige præcis for Microsoft-websitets tilfælde kan der være skjulte,
underliggende årsager, der gør, at URLs ikke er så lette at ændre pga.
størrelsen og belastningen, samt måske spøjs teknologi i
loadbalancere, etc. Det er dog klart positivt at
http://www.microsoft.com/ie stadigvæk virker, trods alt.
--
- Peter Brodersen