Portál AbcLinuxu, 31. října 2025 18:03
RFC 4709 z října minulého roku definuje způsob, jak inzerovat na webu WebDAV svazky. Namísto obskurdního micro$shitího použití <a folders="..."> (viz tuto m$ dokumentaci) představuje toto RFC čistou a jednoduchou cestu, jak toho dosáhnout.
Problém připojování WebDAV svazků totiž spočívá v tom, že jedno URL může označovat jak obyčejnou webovou stránku, tak WebDAV svazek. Micro$hit to řeší nestadartním elementem v HTML. Nové RFC místo toho vkládá mezistupeň, kdy z HTML dokumentu je dán odkaz na kratičký soubor, který označuje WebDAV svazek (včetně možnosti nadefinovat, co je „kořen“ svazku a v jakém jeho podadresáři jej má prohlížč otevřít). Tento soubor (včetně HTTP hlaviček) může vypadat nějak takto (vzato z RFC):
   HTTP/1.1 200 OK
   Content-Type: application/davmount+xml
   Content-Length: xxx
   Cache-Control: private
   <dm:mount xmlns:dm="http://purl.org/NET/webdav/mount">
     <dm:url>http://www.example.com/user42/</dm:url>
     <dm:open>inbox/</dm:open>
   </dm:mount>
Implementovat toto pomocí např. php skriptu je otázka chvilky. Jediný problém je, že si zatím prohlížeče neumí s tímto souborem poradit. Moje prozatimní řešení je (horkou jehlou ušitý) skriptík, který se použije jako wrapper pro content-type application/davmount+xml a spustí odpovídajícím způsobem nautilus:
#!/bin/sh F=$1 URL=`grep "<dm:url" $F | sed 's/^.*< *dm:url *>\(.*\)< *\/ *dm:url *>.*$/\1/'` OPEN=`grep "<dm:open" $F | sed 's/^.*< *dm:open *>\(.*\)< *\/ *dm:open *>.*$/\1/'` USER=`grep "<dm:username" $F | sed 's/^.*< *dm:username *>\(.*\)< *\/ *dm:username *>.*$/\1/'` U=`echo "$URL" |sed "s/:\/\//:\/\/$USER@/"`$OPEN U=`echo "$U" |sed "s/^http/dav/" ` nautilus "$U"
Lepší by si samozřejmě byl korektní wrapper, který správně rozpársuje soubor jako XML a spustí definovatelný program. Ale na to jsem byl moc línej :-P ...
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
 19.3.2007 21:53
Petr Tomášek             | skóre: 39
             | blog: Vejšplechty
        19.3.2007 21:53
Petr Tomášek             | skóre: 39
             | blog: Vejšplechty
            
        ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.