Enligt W3 så bör man slopa alla filändelser i filer på webben (.html, .htm, .asp, .php, osv., men även på bilder i vissa fall). Vad anser ni om det? Spontant så känns det bra. Hellre en content-type som berättar vad det är för typ av fil. Visst, men bara på "htmlfiler", dvs. .html, .htm, .asp, .aspx etc. etc. Bilder, program, text-filer och annat som är "udda" kan gott få ha ändelser, smidigare för alla att veta vad det är de laddar hem genom att titta på länken En spontan fundering, hur är det i sådana fall tänkt att servern ska veta vilken content-type det är frågan om? Ska filerna ha en ändelse på servern som inte "syns" utåt? Dehlin: Bland annat här http://www.w3.org/Provider/Style/URI och här http://www.w3.org/TR/chips/#uri >>Visst, men bara på "htmlfiler", dvs. .html, .htm, .asp, .aspx etc. etc. Bilder, program, text-filer och annat som är "udda" kan gott få ha ändelser, smidigare för alla att veta vad det är de laddar hem genom att titta på länken > En spontan fundering, hur är det i sådana fall tänkt att servern ska veta vilken content-type det är frågan om? Ska filerna ha en ändelse på servern som inte "syns" utåt? Det är nog bra om vi talar om samma saker... <b>Vad är det egentligen för fördel med att slopa filändelserna?</b> <b>Säg att du byter från ASP till PHP, istället för att behöva byta adress för en sida från mindomän.se/sida.asp till mindomän.se/sida.php så kan man ha adressen mindomän.se/sida oavsett språk.</b> Jag vet att tråden är gammal, men det är ändå intressant. Jag har nog gjort en helvändning i frågan, och tycker faktiskt att man kan skippa filändelser helt, iaf. på nätet. > Rent och snyggt! Tänkte på dina uri:er. > Tänkte på dina uri:er. Det ligger ganska nära att jämföra filändelser med ungersk notation. Ändå tycker jag att filändelser är helt okej, både på den lokala hårddisken och på webben. Ungersk notation, däremot, undviker jag och använder endast i undantagsfall. Det finns en anledning till att jag vill bli av med filändelser på nätet: man kan skriva urlen rakt upp och ner som man vill, t.ex. vill jag till forumet så vore det logiskt att det står /forum på slutet :) På hårddisken däremot vill jag ha filändelser, så äckligt jobbigt att veta vad det är man har då content-type inte finns där ;) Personligen (nu rullar vi off-topic eftersom det verkligen handlar om webben) så tycker jag att lite "nyare" syn på filer kanske hade varit bättre. Att man associerar meta-data med varje fil, och låter det avgöra vilken typ av fil det är, snarare än en del av namngivningen. (Är det inte så det var i Mac förut?) > Som sagt, bilder är jag inte 100% på än, jag kan definitivt se vissa problem med det, men tanken tilltalar mig. <b>>När jag läste på om apache för reverse proxy så hamnade jag på något kul för ett tag sedan, att apache kunde välja vad som skulle levereras beroende på vad klienten sa att den kunde hantera. Om klienten sa att den förstod så svarade apache med png-filen, men om inte det gick så fick det bli något annat. Osv.</b> Symbian verkar inte bry sig om filändelser utan väljer program som filen ska öppnas i baserat på något annat. Jag vet en specifik gång då det orsakade ett problem för mig. Av nån anledning så ville jag öppna en fil som ett textdokument för att kunna läsa innehållet i den. Jag döpte om filen till .txt och öppnade den, men den öppnades i sitt vanliga program ändå.Slopa filändelser?
Sv: Slopa filändelser?
Har du någon länk till deras uttalande?Sv: Slopa filändelser?
Sv:Slopa filändelser?
/JohanSv: Slopa filändelser?
Har för mig att jag har sett det mer "uttalat" tidigare, men kan inte hitta det nu.
<b>>Visst, men bara på "htmlfiler", dvs. .html, .htm, .asp, .aspx etc. etc. Bilder, program, text-filer och annat som är "udda" kan gott få ha ändelser, smidigare för alla att veta vad det är de laddar hem genom att titta på länken</b>
Jo, tyckte jag också först, men är ändå tveksam. Det finns viss poäng i att inte bry sig om vilket format bilderna är i t.ex.
<b>>En spontan fundering, hur är det i sådana fall tänkt att servern ska veta vilken content-type det är frågan om? Ska filerna ha en ändelse på servern som inte "syns" utåt?</b>
Jo, det står i länkarna, exakta implementationen är mer eller mindre irrelevant, så länge URIn är utan ändelse. Måste säga att jag mer och mer börjar tycka att det är en riktigt bra ide.Sv:Slopa filändelser?
>Jo, tyckte jag också först, men är ändå tveksam. Det finns viss poäng i att inte bry sig om vilket format bilderna är i t.ex.
Nja, jag vet inte om jag vill ladda ner .tiff bilder hur som helst, har inget program som jag kan titta på dem med ändå ;) Då är det smidigt och sparar några sekunder om det syns i adressenSv: Slopa filändelser?
Jag är emot att internt inom systemet undvika filändelser, t.ex. unix/linux och liknande har ju traditionellt sett inga filändelser. Det är jobbigt, på windows ser man ju direkt vad det är för typ av fil... Så på webbservern för allting ha filändelser, sedan kan man plocka bort valda ändelser, t.ex. .htm, .asp, .aspx etc. etc.Sv: Slopa filändelser?
Det W3C säger är att en URI inte ska vara beroende av filtyp. Det har ingenting att göra med hur filerna lagras. En oberoende URI åstadkommer man inte genom att bara plocka bort filändelserna.Sv:Slopa filändelser?
Jag vet inte vad den egentliga orsaken är, men en sak jag kan tänka mig är att du inte får problem vid byte av scriptspråk t.ex. Säg att du byter från ASP till PHP, istället för att behöva byta adress för en sida från mindomän.se/sida.asp till mindomän.se/sida.php så kan man ha adressen mindomän.se/sida oavsett språk.
/JohanSv: Slopa filändelser?
Ok där ser jag en poäng. Men då kan man egentligen döpa om sidan till index/default och lägga den i katalogen sida så får man samma effekt.
ThomasSv: Slopa filändelser?
Den sida jag håller på med just nu http://dev.lantrojan.com, kör jag _helt_ utan filändelser, även om det inte är perfekt än. Ett "litet" problem just nu är att jag mappar allting dynamiskt så det finns ingen egentlig koppling mellan filsystemet, filnamn och url, mer än på vissa utvalda "mappar" där jag kör med wildcards.
T.ex. har jag en "mapp" som heter "/images/misc", den är lite smått mappad mot en fysisk katalog i filsystemet. Men då jag inte orkat skriva någon vettig kod än så har jag gjort ett fulhack och gjort virtuella kataloger i ovanstående mapp vid namn "gif", "png" etc. så den kan lägga på filändelse själv.
Det största prestandaproblemet är nog i nuläget att alla requests mot hemsidan måste gå via asp.net, fast det kan man leva med. Eftersom att jag kör iis 6 samt asp.net 2.0 så är det rätt enkelt att skicka tillbaka requests om statiska filer till iis. Men det blir en extra vända som sagt.
Visst, man kan lösa det här med något kul, hemmagjort isapi-plugin till iis, men då blir det två saker att hålla reda på istället för en.
Jag har inte gjort några prestandatester på dev.lantrojan.com än, men jag har slängt in cache på allting som har med url:er att göra iaf. Men jag upplever inte att den biten går segt iaf.Sv: Slopa filändelser?
> Det är ingen dum idé alls detta.
Tänkte du på mina funderingar, hemsidan eller något annat? För själva tråden kan du väl inte syfta på då det är du som skrivit den..? :)Sv:Slopa filändelser?
Och idén är inte dum, men det var inte min idé från början =).
Din variant vad gäller att hitta själva filerna låter vettig men lite krånglig (för dig). Jag ser framför mig en slags princip där man lägger filer på något bra sätt, och sen grafiskt kopplar namn till varandra, och sen är de uri:ena låsta. Flummigt, men principen är att man inte ska behöva arbeta så mycket för att hålla ordning på var filerna ligger och hur de är namnsatta.Sv: Slopa filändelser?
Är rätt nöjd med dem, och iom. att jag inte officiellt driftsatt sidan än på ett ett tag så har jag lite tid på mig att justera uri:er, just nu blir det lite extra jobb då uri:erna i databasen bara används för att skicka tillbaka rätt sidor och inte för att generera länkarna, men jag har planer på det också.
> Din variant vad gäller att hitta själva filerna låter vettig men lite krånglig (för dig). Jag ser framför mig en slags princip där man lägger filer på något bra sätt, och sen grafiskt kopplar namn till varandra, och sen är de uri:ena låsta. Flummigt, men principen är att man inte ska behöva arbeta så mycket för att hålla ordning på var filerna ligger och hur de är namnsatta.
Håller på med något sådant, har en resources-mapp i filsystemet där allting statiskt/nästan statiskt ligger (har t.ex en css-fil som inte är helt statisk; pga. att css-filen inte "vet" om / eller /hemsida/ är root så gör jag en ersättning när css-filen hämtas.) I resources-mappen har jag sedan mappar för t.ex. flash, images, js etc.
Såhär ser min "fina" tabell för statiska filer ut just nu:
1 /banners/lantrojan /resources/flash/design/topbanner2.swf
2 /bottom /resources/images/design/bottom.jpg
3 /loading /resources/images/misc/loading.gif
5 /atlas/% /resources/atlas/scriptlibrary/::DEBUGRELEASE::/%.js
6 /images/gif/% /resources/images/content/%.gif
10 /treeline/% /resources/images/treeline/%.gif
11 /images/misc/png/% /resources/images/misc/%.png
12 /images/misc/gif/% /resources/images/misc/%.gif
13 /js/% /resources/javascript/%.js
(Jag har inte lagt in något skydd för ../-attacker än och liknande, fast alla farliga filer spärrar iis ändå rätt effektivt ;) )
Kolumnen till vänster är den virtuella urlen som ska mappas och till höger är den riktiga url:en som iis ser det. % är wildcard till vänster och till höger ersätts % med det som var i % till vänster. (ajdå, blev lite konstig förklaring det där :) )
Vidare har jag en forbidden-tabell som jag kör regexp på (kompilerade och cachade) samt en tabell där jag kan mappa urler mot asp.net-sidor, eller en grupp urler mot en asp.net-sida och sedan skicka med ett contentid (typ. artikel-sidor och liknande)
Det fungerar rätt bra alltihopa, och det är ganska enkelt att slänga till en ny sida (har inte ens gjort något gränssnitt, kör rakt in i databasen) då det är ganska simpelt :)Sv: Slopa filändelser?
Sv:Slopa filändelser?
Sv: Slopa filändelser?
För mig handlar det om att så tydligt som möjligt separera saker ifrån varandra och normalisera. Vad heter den här filen?
-"Test".
Vad är det för fil?
-"Program".
Programmet heter väl inte "Test.exe", vem fan säger det?
Jag tror att det stora hindret mot att arbeta på det sättet är att operativsystem idag inte har detta grundläggande stöd på ett bra sätt. Hade man bakat in det så att det var någonting som kändes naturligt att kolla på när man hanterade filer så hade det varit betydligt enklare, tror jag. Det är det man sorterar på. "Jag vill ha alla textfiler" heter inte "*.txt" utan "*; FileType:text" eller "*; Content-Type:text", vilket då definitivt får med alla textfiler, _även_ de som inte heter .txt.
Lite som databasnormalisering i tankesättet.
Per: Du måste väl hålla med om att det är totalt meningslöst vilken teknik som ligger bakom; då borde man ju åtminstone droppa php, asp osv., och bara använda html istället. Det enda som finns kvar då är .html och bilder, och om .html då ändå blir underförstått i nästan alla fal kan jag inte se att det skulle vara bättre än "ingenting".
Som sagt, bilder är jag inte 100% på än, jag kan definitivt se vissa problem med det, men tanken tilltalar mig.Sv:Slopa filändelser?
När jag läste på om apache för reverse proxy så hamnade jag på något kul för ett tag sedan, att apache kunde välja vad som skulle levereras beroende på vad klienten sa att den kunde hantera. Om klienten sa att den förstod så svarade apache med png-filen, men om inte det gick så fick det bli något annat. Osv.
Det jag kan tänka mig att man vill behålla filtillägg på är om man t.ex. ska ladda ner pdf-filer, word-dokument, program, zip-filer etc. Fast jag har inte bestämt mig, har inte gjort några praktiska test alls så...Sv: Slopa filändelser?
Ahaa... lite som IpSec, ja det kan nog funka. Det är en hel del på http-nivå som servrar och klienter normalt struntar i.Sv: Slopa filändelser?
Öppna-dialogen i texteditorn visade dessutom bara dom filer som verkligen var textdokument.
Men i grunden så ligger väl egentligen problemet i att texteditorn inte gick att ställa in på att visa "alla filer" eller liknande.
Jag föredrar i alla fall att ha filändelser på filer lokalt, och på webben så är det egentligen bara webmastern som påverkas av det och det går redan idag enkelt att få en hel hemsida att se filändelselös ut.
Thomas