4. november 2005 22.41 WEB
Syndróm dvoch lomítok v URI
Do tohto týždňa som predpokladal (mylne) v súvislosti s URI toto:
a) dve po sebe idúce lomítka majú význam jedného (a rekurzívne aj viac ako dve),
b) URI s takýmito lomítkami sú prehliadačom "spracovávané".
Nie nie sú a zároveň spôsobujú zvláštny (a vlastne logický) efekt.
Vytvorte si v root adresári dve zložky: 'images' a 'document'.
Do zložky 'images' vložte súbor 'image.jpg' a do 'document' nahrajme tento stručný dokument s názvom 'document.html':
<html>
<body>
<h1>Syndróm //</h1>
<img src="../images/image.jpg" alt="Syndrom" />
<hr />
© 2005 rony
</body>
</html>
Zobrazte si teraz dokument zadaním http://vasadomena/document/document.html a zistíte, že to funguje.
Skúste teraz http://vasadomena/document//document.html a obrázok je preč.
Živý test pokiaľ sa Vám to nechce robiť:
http://www.madaj.net/test/document/document.html
http://www.madaj.net/test/document//document.html
Pre mňa je to paradox, pretože súčasne existuje "duplicitnosť" URI v zmysle defaultných dokumentov a /index.cgi?id=1 je totožné zvykom s /?id=1 a lomítka (prázdne názvy zložiek) za významné brané sú. Ale kto už videl zložku s nulovou dĺžkou svojho pomenovania?
pošli do vybrali.sme.skKomentáre k obsahu príspevku:
Chcete napísať nesúhlasný komentár? Prosím, zvážte nasledovné: je šanca, aby niekto zmenil Váš názor alebo chcete iba trvať na svojom? V prvom prípade sú Vaše slová vítané.
Chcete urážať? Nepíšte sem urážky a invektívy. Každý, kto na týchto stránkach publikuje je automaticky (doplňte vhodný výraz). Takže už to všetci vopred vieme, čo si myslíte a preto sa neopakujte.
Predstav si, keby tak MS nahradil defaultný systémový adresár c:\windows za c:\\ :))
Duplicitnosť URI (aka /index.cgi?id=1) je veľmi jednoducho vysvetliteľná:
1) Na serveri sú nadefinované názvy súborov, ktoré sa majú zobraziť, ak nie je zadané meno súboru a nie je povolené zobraziť zoznam súborov v adresári. (t.j. napr. index.cgi)
2) Všetko za otáznikom "?", vrátane otáznika, sú GET parametre pre volanú stránku a tak ich server neberie ako súčasť mena stránky, ktorú má zobraziť. Čiže zrazu nemá akú stránku zobraziť. Začne sa správať podľa bodu 1)
Ohľadom dvoch lomítok (či vraj po slovensky "lomiek"). Skôr si myslím, že zaúraduje hostiteľský systém, na ktorom sú stránky, ale s istotou to povedať neviem,
[2] predpokladam, ze si to vysvetlil drahym citatelom, pretoze defaultne nazvy web servra samozrejme ovladam ;-) a nepokladam to za neocakavany jav ;-)
Problem dvoch lomitok ale uz ano ;-) Istotu ziskas lahko, odskusas si to na relevantnom pocte hostitelskych systemov. Apache mozes vynechat ;-)