Interoperabilità tra client

All WebDAV clients fall into one of three categories—standalone applications, file-explorer extensions, or filesystem implementations. These categories broadly define the types of WebDAV functionality available to users. Tabella B.2, «Client WebDAV comuni» gives our categorization and a quick description of some common pieces of WebDAV-enabled software. More details about these software offerings, as well as their general category, can be found in the sections that follow.

Tutti i client WebDAV ricadono in una di tre categorie—applicazioni autonome, estesioni di esporatori di file, o implementazioni di filesystem. Queste categorie definiscono largamente i tipi di funzionalità di WebDAV disponibili agli utenti. Tabella B.2, «Client WebDAV comuni» fornisce la categorizzazione ed una descrizione veloce di alcuni software comuni abilitati a WebDAV. Maggiori dettagli circa l'offerta di questi software, così come la loro categoria generale, possono essere trovati nelle sezioni che seguono.

Table B.1. Common WebDAV Clients

Software Category Description
Adobe Photoshop Standalone WebDAV applications Image editing software, allowing direct opening from, and writing to, WebDAV URLs
Cadaver Standalone WebDAV applications Command-line WebDAV client supporting file transfer, tree, and locking operations
DAV Explorer Standalone WebDAV applications GUI tool for exploring WebDAV shares
davfs2 WebDAV filesystem implementation Linux file system driver that allows you to mount a WebDAV share
GNOME Nautilus File-explorer WebDAV extensions GUI file explorer able to perform tree operations on a WebDAV share
KDE Konqueror File-explorer WebDAV extensions GUI file explorer able to perform tree operations on a WebDAV share
Mac OS X WebDAV filesystem implementation Operating system with built-in support for mounting WebDAV shares locally
Macromedia Dreamweaver Standalone WebDAV applications Web production software able to directly read from and write to WebDAV URLs
Microsoft Office Standalone WebDAV applications Office productivity suite with several components able to directly read from and write to WebDAV URLs
Microsoft Web Folders File-explorer WebDAV extensions GUI file explorer program able to perform tree operations on a WebDAV share
Novell NetDrive WebDAV filesystem implementation Drive-mapping program for assigning Windows drive letters to a mounted remote WebDAV share
SRT WebDrive WebDAV filesystem implementation File transfer software which, among other things, allows the assignment of Windows drive letters to a mounted remote WebDAV share

Tabella B.2. Client WebDAV comuni

Software Categoria Descrizione
Adobe Photoshop Applicazioni WebDAV autonome Software per la modifica di immagini, permette l'apertura diretta da, e la scrittura su, URL WebDAV
Cadaver Applicazioni WebDAV autonome Client WebDAV a riga di comando che supporta il trasferimento di file, alberi, e operazioni di bloccaggio
DAV Explorer Applicazioni WebDAV autonome Strumento con interfaccia grafica per esplorare condivisioni WebDAV
davfs2 Implementazione del filesystem WebDAV Driver di filesystem per Linux che permette di montare una condivisione WebDAV
GNOME Nautilus Estensioni WebDAV per esploratore di file Esploratore di file con interfaccia grafica capace di eseguire operazioni su alberi su condivisioni WebDAV
KDE Konqueror Estensioni WebDAV per esploratore di file Esploratore di file con interfaccia grafica capace di eseguire operazioni sull'albero in una condivisioni WebDAV
Mac OS X Implemntazione del filesystem WebDAV Sistema operativo con supporto integrato per montare condivisioni WebDAV localmente
Macromedia Dreamweaver Applicazioni WebDAV autonome Software di produzione Web capace di leggere direttamente da e scrivere su un URL WebDAV
Microsoft Office Applicazioni WebDAV autonome Suite di produzione per ufficio con vari componenti capaci di leggere direttamente da e scrivere su un URL WebDAV
Microsoft Web Folders Estensioni WebDAV per esploratore di file Programma con interfaccia grafica capace di eseguire operazioni sull'albero in una condivisione WebDAV
Novell NetDrive Implementazione del filesystem WebDAV Programma di mappatura unità per assegnare una lettere di unità Windows a una condivisione remota WebDAV montata
SRT WebDrive Implementazione del filesystem WebDAV Software di trasferimento file che, tra l'altro, permette di assegnare una lettera di unità Windows a una condivisione remota WebDAV montata

Applicazioni WebDAV autonome

A WebDAV application is a program which contains built-in functionality for speaking WebDAV protocols with a WebDAV server. We'll cover some of the most popular programs with this kind of WebDAV support.

Un'applicazione WebDAV è un programma che contiene funzionalità integrate per parlare il protocollo WebDAV con un server WebDAV. Verranno trattati alcuni dei più popolari programmi con questo tipo di supporto a WebDAV.

Microsoft Office, Dreamweaver, Photoshop

On Windows, there are several well-known applications that contain integrated WebDAV client functionality, such as Microsoft's Office, [85] Adobe's Photoshop, and Macromedia's Dreamweaver programs. They're able to directly open and save to URLs, and tend to make heavy use of WebDAV locks when editing a file.

Su Windows, ci sono varie applicazioni ben conosciute che contiene funzionalità integrate di client WebDAV, come i programmi Microsoft Office, [86] Adobe Photoshop, e Macromedia Dreamweaver. Sono capaci direttamente di aprire e salvare URL, e tendono a fare largo uso di bloccaggi WebDAV quando modificano un file.

Note that while many of these programs also exist for the Mac OS X, they do not appear to support WebDAV directly on that platform. In fact, on Mac OS X, the File->Open dialog box doesn't allow one to type a path or URL at all. It's likely that the WebDAV features were deliberately left out of Macintosh versions of these programs, since OS X already provides such excellent low-level filesystem support for WebDAV.

Notare che mentre molti di questi programmi esistono anche per Mac OS X, sembra che non supportino direttamente WebDAV su questa piattaforma. Infatti, su Mac OS X, il box di dialogo File->Apri non permette affatto di digitare un percorso o un URL. È probabile che le caratteristiche WebDAV siano state deliberatamente lasciate fuori dalle versioni Macintosh di questi programmi, dato che OS X fornisce già un eccellente supporto al filesystem a basso livello per WebDAV.

Cadaver, esploratore DAV

Cadaver is a bare-bones Unix commandline program for browsing and changing WebDAV shares. Like the Subversion client, it uses the neon HTTP library—not surprisingly, both neon and cadaver are written by the same author. Cadaver is free software (GPL license) and is available at http://www.webdav.org/cadaver/.

Cadaver è un programma a linea di comando Unix per navigare e modificare le condivisioni WebDAV. Come il client Subversion, utilizza la libreria HTTP neon—non sorprendentemente, dato che sia neon che cadaver sono scritti dallo stesso autore. Cadaver è un software libero (licenza GPL) ed è disponibile a http://www.webdav.org/cadaver/.

Using cadaver is similar to using a commandline FTP program, and thus it's extremely useful for basic WebDAV debugging. It can be used to upload or download files in a pinch, and also to examine properties, copy, move, lock or unlock files:

Utilizzare cadaver è simile a utilizzare un programma a linea di comando FTP, e così è estremamente utile per il debug di base WebDAV. Può essere utilizzato per caricare o scaricare file in un baleno, e anche per esaminare proprietà, copiare, spostare, bloccare o sbloccare file:

$ cadaver http://host/repos
dav:/repos/> ls
Listing collection `/repos/': succeeded.
Coll: > foobar                                 0  May 10 16:19
      > playwright.el                       2864  May  4 16:18
      > proofbypoem.txt                     1461  May  5 15:09
      > westcoast.jpg                      66737  May  5 15:09

dav:/repos/> put README
Uploading README to `/repos/README':
Progress: [=============================>] 100.0% of 357 bytes succeeded.

dav:/repos/> get proofbypoem.txt
Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
Progress: [=============================>] 100.0% of 1461 bytes succeeded.

DAV Explorer is another standalone WebDAV client, written in Java. It's under a free Apache-like license and is available at http://www.ics.uci.edu/~webdav/. DAV Explorer does everything cadaver does, but has the advantages of being portable and being more user-friendly GUI application. It's also one of the first clients to support the new WebDAV Access Control Protocol (RFC 3744).

DAV Explorer è un altro client WebDAV, scritto in Java. È sotto una licenza libera tipo quella di Apache ed è disponibile a http://www.ics.uci.edu/~webdav/. DAV Explorer fa tutto quello che fa cadaver, ma ha il vantaggio di essere portabile e dispone di un'interfaccia grafica molto più amichevole. È anche uno dei primi client a supportare il nuovo protocollo per il controllo di accesso di WebDAV (RFC 3744).

Of course, DAV Explorer's ACL support is useless in this case, since mod_dav_svn doesn't support it. The fact that both Cadaver and DAV Explorer support some limited DeltaV commands isn't particularly useful either, since they don't allow MKACTIVITY requests. But it's not relevant anyway; we're assuming all of these clients are operating against an autoversioning repository.

Naturalmente, il supporto ACL (lista di controllo accesso) di DAV Explorer non è utile in questo caso, dato che mod_dav_svn non lo supporta. Neanche il fatto che sia Cadaver che DAV Explorer supportino alcuni comandi DeltaV è particolarmente utile, fino a quando non permetteranno richieste MKACTIVITY. Ma non è comunque rilevante; si assume che tutti questi client operino su un repository autoversionante.

File-explorer WebDAV extensions

Some popular file explorer GUI programs support WebDAV extensions which allow a user to browse a DAV share as if it was just another directory on the local computer, and allowing basic tree editing operations on the items in that share. For example, Windows Explorer is able to browse a WebDAV server as a network place. Users can drag files to and from the desktop, or can rename, copy, or delete files in the usual way. But because it's only a feature of the file-explorer, the DAV share isn't visible to ordinary applications. All DAV interaction must happen through the explorer interface.

Alcuni popolari gestori di file supportano le estensioni WebDAV che permettono ad un utente di esplorare una condivisione DAV come se fosse un'altra directory sul computer locale, e permettendo semplice operazioni di modifica all'alberatura sugli elementi nella condivisione. Ad esempio, Windows Explorer è capace di navigare un server WebDAV come una «risorsa di rete». Gli utenti possono trascinare i file sulla e dalla scrivania, o possono rinominare, copiare, o eliminare file nel modo usuale. Ma dato che è solo una caratteristica del gestore, la condivisione DAV non è visibile alle applicazioni ordinarie. Tutte le interazioni DAV devono accadere attraverso l'interfaccia del gestore.

Microsoft Web Folders

Microsoft was one of the original backers of the WebDAV specification, and first started shipping a client in Windows 98, known as Web Folders. This client was also shipped in Windows NT4 and 2000.

Microsoft è stata uno dei promotori originali della specifica WebDAV, ed iniziò per prima distribuendo un client in Windows 98, conosciuto come «Cartelle Web». Questo client è stato anche distribuito in Windows NT4 e 2000.

The original Web Folders client was an extension to Explorer, the main GUI program used to browse filesystems. It works well enough. In Windows 98, the feature might need to be explicitly installed if Web Folders aren't already visible inside My Computer. In Windows 2000, simply add a new network place, enter the URL, and the WebDAV share will pop up for browsing.

Il client originale Cartelle Web era un'estensione ad Explorer, l'interfaccia grafica principale per navigare i filesystem. Funziona abbastanza bene. In Windows 98, la caratteristica può aver bisogno di essere esplicitamente installata se Cartelle Web non sono già visibili all'interno di «Risorse del computer». In Windows 2000, basta semplicemente aggiungere una nuova «risorsa di rete», inserire l'URL, e la condivisione WebDAV verrà mostrata, pronta all'uso.

With the release of Windows XP, Microsoft started shipping a new implementation of Web Folders, known as the WebDAV mini-redirector. The new implementation is a filesystem-level client, allowing WebDAV shares to be mounted as drive letters. Unfortunately, this implementation is incredibly buggy. The client usually tries to convert http URLs (http://host/repos) into UNC share notation (\\host\repos); it also often tries to use Windows Domain authentication to respond to basic-auth HTTP challenges, sending usernames as HOST\username. These interoperability problems are severe and documented in numerous places around the web, to the frustration of many users. Even Greg Stein, the original author of Apache's WebDAV module, recommends against trying to use XP Web Folders against an Apache server.

COn il rilascio di Windows XP, Microsoft ha iniziato a distribuire una nuova implementazione di Cartelle Web, conosciuta come «WebDAV mini-redirector». La nuova implementazione è un client a livello di filesystem, che permette alle condivisioni WebDAV di essere montate come lettere di unità. Sfortunatamente, questa implementazione è incredibilmente piena di errori. Il client solitamente prova a convertire gli URL http (http://host/repos) in una condivisione con notazione UNC (\\host\repos); prova anche spesso ad utilizzare l'autenticazione di dominio Windows per rispondere a richieste basic-auth HTTP, inviando il nome utente come HOST\username. Questi problemi di interoperabilità sono gravi e documentati in numerosi posti sul web, per la frustrazione di molti utenti. Anche Greg Stein, l'autore originale del modulo WebDAV di Apache, suggerisce di non provare a utilizzare Cartelle Web di XP per accedere ad un server Apache.

It turns out that the original Explorer-only Web Folders implementation isn't dead in XP, it's just buried. It's still possible to find it by using this technique:

Risulta che l'originale implementazione Cartelle Web «solo Explorer» non è morta in XP, è solamente nascosta. È ancora possibile trovarla utilizzando questa tecnica:

  1. Go to 'Network Places'.

    Andare in 'Risorse di rete'.

  2. Add a new network place.

    Aggiungere una nuova risorsa di rete.

  3. When prompted, enter the URL of the repository, but include a port number in the URL. For example, http://host/repos would be entered as http://host:80/repos instead.

    Quando richiesto, inserire l'URL del repository, ma includere un numero di porta nell'URL. Per esempio, http://host/repos dovrebbe invece essere inserito come http://host:80/repos.

  4. Respond to any authentication prompts.

    Rispondere ad ogni richiesta di autenticazione.

There are a number of other rumored workarounds to the problems, but none of them seem to work on all versions and patchlevels of Windows XP. In our tests, only the previous algorithm seems to work consistently on every system. The general consensus of the WebDAV community is that you should avoid the new Web Folders implementation and use the old one instead, and that if you need real a real filesystem-level client for Windows XP, then use a third-party program like WebDrive or NetDrive.

Corre voce che ci siano un numero di altri stratagemmi per ovviare ai vari problemi, ma nessuno di loro sembra funzionare in tutte le versioni e livelli di patch di Windows XP. Nelle nostre prove, solo l'algoritmo precedente sembra funzionare in modo consistente su ogni sistema. Il generale consenso della comunità WebDAV è che si dovrebbe evitare la nuova implementazione di Cartelle Web ed utilizzare invece la vecchia, e che se si ha realmente bisogno di un client per Windows XP al reale livello di filesystem, utilizzare un programma di terze parti come WebDrive o NetDrive.

A final tip: if you're attempting to use XP Web Folders, make sure you have the absolute latest version from Microsoft. For example, Microsoft released a bug-fixed version in January 2005, available at http://support.microsoft.com/?kbid=892211. In particular, this release is known to fix a bug whereby browsing a DAV share shows an unexpected infinite recursion.

Un consiglio finale: se si tenta di utilizzare Cartelle Web di XP, occorre essere sicuri di avere la versione più recente da Microsoft. Per esempio, Microsoft ha rilasciato una versione corretta nel gennaio 2005, disponibile su http://support.microsoft.com/?kbid=892211. In particolare, è noto che questo rilascio corregge un errore per il quale l'esplorazione di una condivisione DAV genera un'inaspettata ricorsione infinita.

Nautilus, Konqueror

Nautilus is the official file manager/browser for the GNOME desktop (http://www.gnome.org), and Konqueror is the manager/browser for KDE desktop (http://www.kde.org). Both of these applications have an explorer-level WebDAV client built-in, and operate just fine against an autoversioning repository.

Nautilus è il gestore file/navigatore ufficiale del desktop GNOME (http://www.gnome.org), e Konqueror è il gestore file/navigatore per il desktop KDE (http://www.kde.org). Entrambe queste applicazioni hanno un client WebDAV integrato a livello esploratore, e operano correttamente su un repository autoversionante.

In GNOME's Nautilus, from the File menu, select Open location and enter the URL. The repository should then be displayed like any other filesystem.

In Nautilus di GNOME, dal menu File, selezionare Apri posizione e inserire l'URL. Il repository dovrebbe quindi essere visualizzato come ogni altro filesystem.

In KDE's Konqueror, you need to use the webdav:// scheme when entering the URL in the location bar. If you enter an http:// URL, Konqueror will behave like an ordinary web browser. You'll likely see the generic HTML directory listing produced by mod_dav_svn. By entering webdav://host/repos instead of http://host/repos, Konqueror becomes a WebDAV client and displays the repository as a filesystem.

In Konqueror di KDE, occorre utilizzare lo schema webdav:// quando si inserisce l'URL nella barra della posizione. Se si inserisce un URL http://, Konqueror si comporterà come un ordinario navigatore web. Probabilmente si vedrà la generica lista HTML per directory prodotta da mod_dav_svn. Inserendo webdav://host/repos invece di http://host/repos, Konqueror diventa un client WebDAV e visualizza il repository come un filesystem.

Implementazione del filesystem WebDAV

The WebDAV filesystem implementation is arguably the best sort of WebDAV client. It's implemented as a low-level filesystem module, typically within the operating system's kernel. This means that the DAV share is mounted like any other network filesystem, similar to mounting an NFS share on Unix, or attaching an SMB share as drive-letter in Windows. As a result, this sort of client provides completely transparent read/write WebDAV access to all programs. Applications aren't even aware that WebDAV requests are happening.

L'implementazione del filesystem WebDAV è indiscutibilmente la miglior sorta di client WebDAV. È implementato come un modulo del filesystem a basso livello, tipicamente all'interno del kernel del sistema operativo. Questo significa che la condivisione DAV è montata come ogni altro filesystem di rete, similmente al montaggio di una condivisione NFS su Unix, o al collegamento di una condivisione SMB come lettera di unità in Windows. Di conseguenza, questa sorta di client provvede ad un accesso lettura/scrittura WebDAV completamente trasparente per tutti i programmi. Le applicazioni non si accorgono in nessun modo del fatto che le richieste WebDAV stanno accadendo.

WebDrive, NetDrive

Both WebDrive and NetDrive are excellent commercial products which allows a WebDAV share to be attached as drive letters in Windows. We've had nothing but success with these products. At the time of writing, WebDrive can be purchased from South River Technologies (http://www.southrivertech.com). NetDrive ships with Netware, is free of charge, and can be found by searching the web for netdrive.exe. Though it is freely available online, users are required to have a Netware license. (If any of that sounds odd to you, you're not alone. See this page on Novell's website: http://www.novell.com/coolsolutions/qna/999.html)

Sia WebDrive che NetDrive sono eccellenti prodotti commerciali che permettono a una condivisione WebDAV di essere connessa come lettera disco in Windows. Non abbiamo sperimentato altro ch successi con questi prodotti. Al momento della scrittura, WebDrive può essere acquistato da South River Technologies (http://www.southrivertech.com). NetDrive viene distribuito con Netware, è gratuito, e può essere trovato ricercando «netdrive.exe» sul web. Benché sia liberamente disponibile online, agli utenti è richiesto avere una licenza Netware. (Se la cosa vi pare strana, non siete i soli. Vedere la pagina sul sito web di: http://www.novell.com/coolsolutions/qna/999.html)

Mac OS X

Apple's OS X operating system has an integrated filesystem-level WebDAV client. From the Finder, select the Connect to Server item from the Go menu. Enter a WebDAV URL, and it appears as a disk on the desktop, just like any other mounted volume.[87].

Il sistema operativo OS X di Apple un client WebDAV integrato a livello di filesystem. Dal Finder, selezionare l'elemento Connessione al server dal menu Vai. Inserire un URL WebDAV, e questo apparirà come un disco sulla scrivania, proprio come ogni altro volume montato.[88].

Note that if your mod_dav_svn is older than version 1.2, OS X will refuse to mount the share as read-write; it will appear as read-only. This is because the OS X insists on locking support for read-write shares, and the ability to lock files first appeared in Subversion 1.2.

Notare che se il proprio mod_dav_svn è più vecchio della versione 1.2, OS X si rifiuterà di montare la condivisione in lettura-scrittura; apparirà come di sola lettura. Questo succede perché OS X esige il supporto al bloccaggio per le condivisioni lettura-scrittura, e l'abilità di bloccare i file è apparsa per la prima volta in Subversion 1.2.

One more word of warning: OS X's WebDAV client can sometimes be overly sensitive to HTTP redirects. If OS X is unable to mount the repository at all, you may need to enable the BrowserMatch directive in the Apache server's httpd.conf:

Una parola in più di avvertimento: il client WebDAV può qualche volta essere eccessivamente sensibile alle redirezioni HTTP. Se OS X non è affatto capace di montare il repository, si può aver bisogno di abilitare la direttiva BrowserMatch in httpd.conf del server Apache:

BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

Linux davfs2

Linux davfs2 is a filesystem module for the Linux kernel, whose development is located at http://dav.sourceforge.net/. Once installed, a WebDAV network share can be mounted with the usual Linux mount command:

Linux davfs2 è un modulo di filesystem per il kernel Linux, il cui sviluppo è situato a http://dav.sourceforge.net/. Una volta installato, una condivisione di rete WebDAV può essere montata con l'usuale comando mount di Linux:

$ mount.davfs http://host/repos /mnt/dav


[85] WebDAV support was removed from Microsoft Access for some reason, but exists in the rest of the Office suite.

[86] Il supporto a WebDAV è stato rimosso da Microsoft Access per qualche ragione, ma esiste nel resto della suite.

[87] From the Darwin terminal, one can also run mount -t webdav URL /mountpoint

[88] Dal terminale Darwin, si può anche eseguire mount -t webdav URL /mountpoint