Pza. Candelaria, 1, Edf.Olympo
Santa Cruz de Tenerife
Tenerife · Islas Canarias
38003 · ESPAÑA

922.276.532 Teléfonos 679.404.986

Civicom

 

Consultores de Gestión ERP, Open ERP, BI, CRM, RR.HH., e-Business, TPV, TIC

WebDAV

WebDAV

2009-MAY-25, ed. 2009-JUN-13

http://www.webdav.org

Nota: La web siempre fue "escribible" sólo que es ahora cuando ha explotado con lo que ha venido en mal llamarse web 2.0 o Red Social. Un modo de ver DAV en acción es probando Google Docs o Google Calendar (CalDAV). WebDAV es una solución mejor y más segura que el primordial ftp. Los inconvenientes de usar el tradicional ftp son:

  • ftp requiere abrir, en el cortafuegos perimetral, el bien conocido puerto 21 u otro, mientras que WebDAV utiliza el mismo puerto 80 que el servidor web.
  • ftp no contempla la concurrencia (dos o más usuarios escribiendo en el mismo archivo de forma simultánea) por no disponer de un mecanismo de bloqueo de archivo, mientras que WebDAV no permite que más de un usuario modifiquen un archivo simultáneamente.
  • ftp no permite abrir un archivo, sólo transferirlo (para editar un archivo del servidor hay que bajarlo primero y volver a subirlo después) mientras que WebDAV permite editar archivos como si estuvieran presentes localmente.

Interoperabilidad.

WebDAV puede ser un importante nexo de interoperabilidad entre las dos plataformas: Windows y *NIX (Unix, Linux, Apple); y entre los distintos ámbitos de red: Intranet, Extranet e Internet, en lo que se refiere a la edición (abrir/editar/guardar) multiusuario en línea (on-line in-line) de archivos.

Hasta ahora, las únicas opciones eran:

  1. Usar Samba para integrar los ordenadores *NIX en la Red Microsoft, e
  2. Instalar un cliente NFS en los ordenadores Windows para integrarlos en la red *NIX.

En cualquiera de los dos casos, a continuación, para cifrar los datos para extender la Intranet a Internet, hay que usar VPN mientras no existan versiones seguras (cifradas) de CIFS, de Samba o de NFS. Mientras que con WebDAV podemos usar https.

Quizás es conveniente aclarar que este modelo (en el que ejecutamos las aplicaciones en nuestro ordenador local para abrir archivos en un ordenador remoto) no debe hacernos olvidar el modelo clásico Mainframe/Terminal en el que nuestro ordenador local funciona como Terminal que se conecta a otro (servidor Mainframe) donde se ejecutan las aplicaciones. Cada uno tiene sus ventajas e inconvenientes. Ejemplos de este modelo clásico son: para la plataforma *NIX, en modo texto, telnet/ssh (como IBM iSeries AS/400); y en modo gráfico, VNC y vino (incluso X.org); y para la plataforma Windows, Terminal Server. Y ya que estamos con esto, hay que decir que cuando hablamos de un servidor Mainframe, en realidad pueden ser varios, como en el modelo de aplicaciones distribuidas CORBA o en un Clúster.

Además, la tendencia actual es que las aplicaciones se ejecutan mediante el navegador web, ya sea:

  • en el lado local (java applet, ActiveX, javascript, etc.) como ocurre en el primer modelo,
  • en el lado del servidor (java servlett, php, asp, etc.) como ocurre en el modelo clásico,
  • o en ambos, es decir, partes de una aplicación se ejecutan en el ordenador local y partes en el servidor (clientes pesados y ligeros).

Como ejemplos tenemos Google Apps, OpenXpertya, etc.

Servidores WebDAV: MS-IIS y Apache.

Una diferencia entre IIS y Apache es que el primero hace una implementación propia, integrando el servico WebDAV con la Red Microsoft (Dominio de Windows y CIFS/NBT); mientras que la implementación de Apache sigue el estándar WebDAV y no tiene relación con Samba. Apache no se comporta de forma distinta en una dirección pública que en una privada, ni en un Dominio de Internet que en uno local; IIS sí.

En teoría, si WebDAV es una extensión del servidor web, el cliente debería ser el navegador web; pero en la práctica, el cliente Windows está integrado en el sistema, mientras que en Linux, en Gnome el cliente puede ser Nautilus, pero no Firefox, y en KDE, Konqueror.

La variedad de escenarios es tan grande que no me es posible probar todas las combinaciones, ni siquiera calcular su número. Todas las pruebas que estoy haciendo son con http, es decir, no he probado https y, de forma resumida, con la configuración siguiente:

  • Tres servidores:
    • IIS de Windows 2003 Server en un Dominio de Internet.
    • Apache con su propia extensión WebDAV (Tomcat) en la misma subred local que el cliente.
    • IIS de Windows 2000 Server SP4 en el mismo Dominio de Windows que el cliente pero en una subred local diferente.
  • Seis clientes:
    • Windows Vista Business 64 bits SP1 con IE8.
    • Windows Vista Business 64 bits SP1 con IE8 y el viejo Web Folders.
    • Linux CentOS 5.3 64 bits, Gnome, Nautilus.
    • Windows XP 64 bits (2003) SP3 con IE8.
    • Windows XP (32 bits 2002) SP3 con IE7.
    • Windows 2000 SP4 con IE6.

Conectando el cliente al servidor: Interfaz de usuario.

Desde un navegador cualquiera

Si escribimos la dirección en cualquier navegador o el Explorador de Windows, según esté configurado el servidor, nos pedirá las credenciales y podemos obtener una de las siguientes respuestas:

  • Una página con el mensaje de acceso prohibido.
  • Una página con un listado de los archivos de la carpeta que podremos abrir en modo lectura.
  • Una página web interactiva (más o menos compatible con el navegador).
  • En el mejor caso, se nos abrirá el administrador de archivos.

Desde Windows 2000/XP

En Windows 2000 y XP hay tres formas:

  1. En IE, escribimos la dirección en "Archivo → Abrir" y activamos "Abrir como carpeta web". Esta opción está presente en IE6 e IE7 pero ya no la encontramos en IE8.
  2. En el Explorador de Windows, usando "Agregar sitios de red" (en Tareas de red, desactivando vista Carpetas del Panel izquierdo).
  3. En el Explorador de Windows, usando "Conectar a unidad de red".

Desde Windows Vista

En Windows Vista, como en XP 2003 IE8, ya no tenemos la opción "Abrir como carpeta web" de IE. "Conectar a" se refiere a conectar el PC a una red, que no es el caso. "Conectar a unidad de red" es para conectar a recursos CIFS y asignarles una letra de unidad local y "Agregar una ubicación de red" es para conectar a recursos CIFS, web y ftp, esto es lo que estábamos buscando. "Conectar a unidad de red" lo encontramos desde clic derecho en "Red" o "Equipo" y también en el menú "Herramientas" del Explorador de Windows. "Agregar una ubicación de red" lo encontramos en el Explorador de Windows seleccionando "Equipo" y entonces en el menú "Archivo" o clic derecho del panel derecho; y también desde la ventana "Conectar a unidad de red".

Desde Linux, con Gnome.

Desde el menú "Lugares → Conectar con el servidor ...". En Nautilus, escribiendo la dirección, http://su_servidor.su_dominio.su_bosque.raiz/carpetawebdav/

Desde Linux, con KDE.

En Konqueror, webdav://su_servidor.su_dominio.su_bosque.raiz/carpetawebdav/

Desde Linux, con Terminal.

Usando cadaver, $ cadaver http://su_servidor.su_dominio.su_bosque.raiz/carpetawebdav/

Desde Mac OS X

Menú Finder → Go → Connect to Server.

Ejemplos de casos reales en producción

La Universidad Politécnica de Valencia: http://www.upv.es/entidades/ASIC/catalogo/524322normalc.html, hagamos la prueba: https://algebar.upv.es/

Hay que esmerarse más. No se puede traducir versioning como visionado y para colmo ponerlo entre dos signos de interrogación de apertura. Versioning se refiere al seguimiento de los distintos cambios que se vayan haciendo sobre un archivo y puede traducirse como control de versiones/revisiones.

Ahora la Universidad Politécnica de Madrid: http://www.aq.upm.es/servicios_centrales/centro_calculo/pdf/webdav.pdf Esto ya es otra cosa.

Ahora la Facultad de Informática de Barcelona http://entomologia.rediris.es/pub/bscw.cgi/d707979/Servicio%20de%20ficheros%20web%20con%20Davenport.pdf

Mucho mejor, por último, la Universidad de Carolina del Norte. http://www.cs.unc.edu/cgi-bin/howto?howto=webdav

En IIS, al crear una carpeta WebDAV, si el servidor no pertenece a un Dominio de Internet, accederemos a la carpeta, desde un cliente Windows, mediante una ruta UNC ¿y sólo desde la Intranet? (lo probaré). Del mismo modo, el cliente MS redirigirá las direcciones URL a UNC, así que, conectar Vista a un servidor DAV Apache que no pertenezca a un Dominio de Internet, no está a dos clics de distancia, mientras que conectar Vista a una carpeta WebDAV en un servidor IIS es tan sencillo como Conectar a unidad de red → \\servidor\carpeta.

Clientes WebDAV de Windows.

Windows 2000 incorpora el componente Carpetas Web (Web Folders) que también encontramos en XP 2002, que además incluye otro cliente llamado Web Extender que usa el subsistema o servicio Cliente Web, así que en XP tenemos dos clientes WebDAV; pero si tenemos un XP x64 (2003) o Vista, resulta que no tienen el componente cliente Web Extender que permite conectar a una carpeta web (KB888123), no traen Web Folders y tanto el servicio Cliente Web como el uso del mismo, cambian respecto a XP 2002.

Normalmente esperaríamos autenticarnos con la ventana de diálogo propia de la web, que la dirección del Explorador de Windows fuera URL y que haciendo clic derecho pudiéramos hacer las mismas cosas que en un disco local. Pero después de configurar WebDAV en un servidor Apache o IIS, nos encontramos con alguna sorpresa al usar los clientes WebDAV de Windows 2000/XP/Vista, que son la mayoría.

Windows 2000

Con Windows 2000 obtenemos el mismo resultado al conectar tanto a IIS como Apache. Después de conectar a los servidores citados observamos una funcionalidad limitada, similar a ftp, es decir, no tenemos toda la funcionalidad que ofrece WebDAV como abrir/editar/guardar, tan sólo copiar/eliminar/mover archivos y carpetas. En el menú contextual de la carpeta (clic derecho) el comando "Nuevo" tan sólo nos ofrece crear una nueva carpeta.

La ventana de autenticación de WebFolders en Windows 2000 es la siguiente:

Ventana de autenticación de Web Folders en Windows 2000.

Como curiosidad estética, podemos observar en el árbol de directorios (Panel izquierdo) que las carpetas web se encuentran agrupadas bajo la etiqueta Carpetas Web, excepto cuando tenemos sólo una.

Windows XP (32 bits 2002)

XP trae dos clientes WebDAV: el anterior WebFolders y el nuevo Cliente Web que se ejecuta como servicio y tiene prioridad. Después de probarlo, si no nos agrada, podemos deshabilitarlo para forzar el uso del viejo Web Folders.

Web Folders. Detenemos el servicio Cliente Web: Panel de Control → Herramientas Administrativas → Servicios; seleccionamos Cliente Web y lo detenemos.

Ya que estamos aquí podemos echar un vistazo: vemos la descripción y después, clic derecho → Propiedades → Dependencias: Este servicio depende de los siguientes componentes del sistema: Redirector de cliente WebDav, que en Vista a su vez depende de otro y éste a su vez, de otro.

Ventana de autenticación de Web Folders en XP.

Hay que tener en cuenta que si detenemos el servicio pero dejamos el inicio en automático volverá a iniciarse porque tiene prioridad. Cuando está detenido, no podemos examinar la zona de red Web Client Network.

Web Client. Al solicitar la conexión a una carpeta web, existen muchos escenarios: servidor Apache ó IIS; que pertenezca a un Dominio de Internet o no. Además, la autenticación puede estar basada en cualquiera de los muchos sistemas. A continuación, probamos algunos casos concretos.

Si configuramos un servidor Apache de forma sencilla para probar, podemos hacer que la carpeta no esté protegida por usuario y contraseña; y si lo está, que requiera el envío cifrado o no.

  1. En la Intranet, si la carpeta no está protegida, Web Client de XP nos dará acceso a ella como si fuera una carpeta Samba, mostrando una ruta UNC y permitiendo abrir/editar/guardar.
  2. Si la carpeta está protegida por autenticación básica (sin cifrar), Web Client nos ofrecerá la autenticación de Dominio de Windows:

    Ventana de autenticación de Dominio de Windows.

    Si nos autenticamos, tendremos toda la funcionalidad WebDAV, como un disco local. Si pulsamos el botón Cancelar, Web Client nos ofrece la autenticación web de IE, pero entonces perdemos la funcionalidad de abrir/editar/guardar:

    Ventana de autenticación web de IE.

    Si estamos conectando con un Exchange 2003 en Internet, en el primer caso notamos un mayor peso y curiosamente, sólo podremos autenticarnos una vez por servidor, es decir, si tenemos dos servidores virtuales y distintas cuentas, sólo podremos usar uno cada vez ya que al autenticarnos en uno nos muestra el otro sin pedir autenticación y no nos permite más que leer; para escribir hay que reiniciar. En el segundo caso, después de cancelar la autenticación Windows Domain, tenemos la autenticación web de IE y a continuación la autenticación WebFolders y si bien va más ligero, tenemos problemas en las subcarpetas; en este caso, mejor deshabilitamos el servicio Web Client y ya no tendremos problemas ni tampoco que cancelar la autenticación Windows Domain ni que autenticarnos dos veces, tan sólo la autenticación Web Folders; pero con la funcionalidad de un ftp.
  3. Por último, si configuramos Apache para que requiera el cifrado de las credenciales, Web Client ya no nos ofrecerá otra cosa que la autenticación de Dominio de Windows; y lo mismo ocurre al conectarnos a un servidor IIS.

Curiosidades estéticas: Al usar el servicio Web Client a través de Web Extender, las carpetas web aparecerán en la rama Web Client Network del árbol de directorios.

Windows XP 2003 64 bits y Windows Vista Business 64 bits

Vista y 2003 ya no traen Web Folders ni Web Extender (KB888123). Así que, en principio, no tenemos acceso, excepto a servidores IIS de la Intranet a los que accedemos mediante la ruta UNC. Después de instalar Web Folders, su funcionamiento es el ya descrito.

Documentación

Wikipedia. Si consultamos la Wikipedia en inglés, encontramos un apartado titulado Microsoft Windows, en el capítulo de Implementaciones, que no encontramos en la versión en español.

  • En español, http://es.wikipedia.org/wiki/WebDAV
  • En inglés, http://en.wikipedia.org/wiki/WebDAV

El apartado Microsoft Windows dice lo siguiente:

Con Windows 98, Microsoft presentó "Web folders" (Carpetas web), un cliente WebDAV. Este cliente era un objeto OLE (Object Linking and Embedding, vinculación e incrustación de objetos) al que cualquier software podía acceder y se instalaba como una extensión del Explorador de Windows (el administrador de escritorio/archivos) y fue también incluido después en Windows 2000. En Windows XP, Microsoft introdujo "WebDAV-MiniRedir" que tiene prioridad, de forma predeterminada, sobre el viejo cliente Web folders. El nuevo cliente funciona como un servicio del sistema en el nivel del redirector de red (inmediatamente sobre el sistema de archivos), permitiendo asignar una letra de unidad a las carpetas compartidas mediante WebDAV, para ser usadas por cualquier software. Sin embargo, la mayoría de versiones del redirector tienen serios defectos:

  1. Se sabe que intentan convertir direcciones URL (Uniform Resource Locator, localizador uniforme de recursos) de HTTP a rutas UNC (Uniform Naming Convention, convención de nombres uniforme), por ejemplo, http://servidor/carpeta/ es convertido erróneamente a \\servidor\carpeta\.
  2. Además, suele usar la autenticación de Dominio de Windows al responder a una autenticación básica (sin cifrar) HTTP.

Posibles modos de sortear estos problemas son:

  • Respecto al primero, especificando el puerto en la URL, p.e., http://servidor:80/carpeta/
  • Usando un nombre de Dominio de Internet totalmente cualificado, p.e. http://servidor.dominio.raiz/carpeta
  • Especificando el ID de usuario en la URL, p.e., http://usuario@servidor.dominio/carpeta/ lo cual parece que fuerza el uso del viejo cliente "Web folders".

Además, WebDAV sólo funciona sobre HTTPS si se han instalado las versiones KB892211 o más recientes; en otro caso Windows le mostrará el mensaje siguiente "La carpeta parece no ser válida. Por favor, elija otra.". En las versiones actuales de Windows XP y Vista, el estado predeterminado del servicio es deshabilitado.

En Windows Vista sólo está presente el redirector, a menos que haya instalada alguna versión de MS-Office, Internet Explorer, OLE-DB o "Microsoft Update for Web Folders" que incluya el cliente "Web folders". Esta actualización sólo funcionará en las versiones de 32 bits de XP/Vista.

Microsoft. Veamos ahora lo que dice Microsoft.

Empezamos por la base de conocimiento citada por la Wikipedia KB892211.
http://support.microsoft.com/kb/892211/
Vemos que es una actualización de "Web folders" de 25 de enero de 2005 y dice, de forma resumida:
Introducción: Esta actualización corrige dos problemas, incluye mejoras de seguridad y soporte HTTPS.
Los dos problemas que soluciona son:

  1. Al mover o copiar un archivo o carpeta desde el servidor WebDAV a nuestro ordenador, se pierden las tres primeras letras del nombre.
  2. Recibe un error al tratar de abrir un archivo o una subcarpeta de un servidor WebDAV mediante "Carpetas Web", si el nombre contiene algún carácter ASCII del 128 al 255. Si trató de abrir un documento con tal nombre, la aplicación se cuelga.

A continuación explica cómo obtener la actualización, cómo saber si ya está instalada y los sistemas a los que es aplicable, donde se incluye XP.

Bueno, de ésto hace más de cuatro años. Así que si vamos a descargar esa actualización, Microsoft nos dirige a otra más reciente de 15 de marzo de 2007, publicada el 18 de mayo de 2007:

en español
http://www.microsoft.com/downloads/thankyou.aspx?familyId=17c36612-632e-4c04-9382-987622ed1d64&displayLang=es

en inglés
http://www.microsoft.com/downloads/details.aspx?familyid=17C36612-632E-4C04-9382-987622ED1D64&displaylang=en

Vemos, entre otros detalles, las instrucciones de instalación y un enlace a la página de descripción del software, KB907306, que seguimos.
http://support.microsoft.com/kb/907306
http://support.microsoft.com/kb/907306/en-us/
Al final de la página vemos que esta actualización es aplicable, entre otras, a todas las ediciones de XP y Vista sin distinción de 32 o 64 bits y, un poco antes, que reemplaza a la actualización anterior de enero de 2005.
En la lista de problemas que soluciona vemos lo siguiente:
Si abrimos con MS-Office un documento en un servidor Sharepoint 2007 puede ser descargado dos veces si hacemos clic en Edit.
El indicador de progreso de descarga no funciona para algunos documentos en el servidor Sharepoint.
No se puede copiar o cambiar el nombre a los archivos que se muestran en carpetas web que no son de IIS.
Además, esta actualización incluye mejoras de seguridad.

Pero eso no es todo, también dice:
Para quitar la actualización: no existe un desinstalador.
Después de actualizar es posible que el Explorador de Windows se cuelgue. Para solucionarlo, instale el paquete de revisión del sistema de Office 2007 (Msdaipp.msp) de fecha 26 de agosto de 2008, KB956790, que puede instalarse en cualquier ordenador sin preocuparse por las versiones de los productos de Office que tenga instalados, ya que no presenta conflictos con ninguna versión de Office anterior.

Veamos entonces, primero la lista de problemas que soluciona, donde encontramos sólo uno:
Si en un ordenador con Office 2007 o la actualización 907306 creamos un acceso directo (.lnk) a un archivo en una carpeta WebDAV, al tratar de abrir el archivo mediante ese vínculo, el Explorador de Windows se cuelga. Si el Acceso Directo está en el Escritorio, el Explorador de Windows se cuelga inmediatamente después de iniciar sesión; de modo que tendrá que usar el Símbolo del Sistema (interfaz de comandos) para borrar el Acceso Directo.
Esta revisión se dirige a corregir sólo este problema y debería ser objeto de más pruebas, así que aplíquela sólo a los sistemas que lo estén experimentando. Para los que no, se recomienda esperar a la siguiente actualización. Para cualquier otro problema contacte con el servicio asistencia

Podemos hacer una búsqueda sobre mini-redirector, WebDAV, etc. en el sitio de asistencia de Microsoft http://support.microsoft.com/search/ donde también podemos solicitar un chat o una atención telefónica. También contactar http://support.microsoft.com/contactus/?ws=support

Respecto a estas actualizaciones, probablemente ya las tendrá instaladas si usa algún producto de Microsoft posterior, como Office 2007. La actualización está disponible en Actualización de software para las carpetas web (KB907306) y también en el sitio original en inglés Software Update for Web Folders (KB907306). En mi caso que tenía la v8, después de instalar la v12 me llegó la actualización de alta prioridad 2007 Microsoft Office Suite SP1, cuando yo tengo todavía Office 2000.

Haciendo algunas comprobaciones

También podemos hacer algo que es mejor evitar: en Conexiones de red → Opciones avanzadas → Configuración avanzada → Orden de proveedores → Proveedores de red: subir Web Client Network por encima de Red de Microsoft Windows. Pero es mejor que antes le echamos un vistazo al servicio ...

Comprobamos los archivos que están en C:\Archivos de programa\Archivos comunes\Microsoft Shared\Web Folders C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\40\bin C:\Archivos de programa\Archivos comunes\System\Ole DB C:\WINDOWS\ServicePackFiles\i386 C:\Documents and Settings\usuario\Datos de programa\Microsoft Web Folders (vacía) C:\Documents and Settings\usuario\Datos de programa\Microsoft\Web Server Extensions (casi vacía)
Algún archivo en dos sitios y con diferente versión, como Msdaipp.dll, librería que encuentro en la carpeta i386 (v 8.103.5219.0) y en la carpeta Ole DB (v 12.0.4518.1014). Así que tendré que ir al Registro.
haciendo una búsqueda también encontramos versiones anteriores en $NtServicePackUninstall$.
Comparo la lista de http://support.microsoft.com/kb/907306 con mis archivos que anoto entre paréntesis.

Nombre de archivoVersión del archivoTamaño del archivoFechaHora
Fp4autl.dll (Microsoft FrontPage Utility)4.0.2.3216 (4.0.2.7523)589,880 (618.605)17-NOV-2004 (14 de abril de 2008)22:33 (3:18:21)
Fp4awec.dll (Microsoft FrontPage Client Library)4.0.2.2611 (4.0.2.4715)450,669 (450.669)17-NOV-2004 (17 de noviembre de 2000)22:33 (0:28:36)
Fpext_fp4.msgNo aplicable (FPEXT.MSG)78,70617-NOV-200422:33
Msdaipp.dll (Microsoft Data Access Component Internet Publishing Provider)12.0.4518.1014 (12.0.4518.1014)1,011,488 (1.011.488)27-OCT-2006 (26 de octubre de 2006)00:49 (20:49:48)
Msdapml.dll (SharePoint Portal Server executable)12.0.4518.1014 (11.0.7807.0)163,10427-OCT-200600:49
Msonsext.dll (Web folders and Rosebud Windows Redistributable Package)12.0.4518.1014 (12.0.4518.1014)970,52827-OCT-200600:49
Nsextint.dll (Paquete redistribuible de carpetas Web y Rosebud de Windows)12.0.4518.1014 (12.0.4518.1014 español)75,55227-OCT-200600:49

Publicidad

aese, s.l. aese, s.l.