词语解释
“DAV”是一种网络协议,它允许客户端和服务器之间进行文件的读写操作。它的全称是“Distributed Authoring and Versioning”,即分布式编辑和版本控制。 DAV是一种基于HTTP的网络协议,它允许客户端和服务器之间进行文件的读写操作。它的主要功能是支持客户端和服务器之间的文件读写操作,它的主要目的是支持客户端和服务器之间的文件共享和同步。 DAV的应用主要是用于文件共享和同步。它可以让用户从任何地方访问和更新文件,而不必担心文件的一致性和安全性。它可以帮助用户在多台计算机之间同步文件,可以让用户在任何地方访问和更新文件,也可以让多个用户共享同一份文件。 DAV还可以用于网络文件系统,它可以让用户在网络上共享文件,而不必担心文件的一致性和安全性。它可以让用户在网络上创建和管理文件夹,也可以让用户在网络上分享文件。 DAV还可以用于WebDAV,它是一种基于HTTP的网络协议,可以让用户在网络上共享文件,而不必担心文件的一致性和安全性。它可以让用户在网络上创建和管理文件夹,也可以让用户在网络上分享文件。 总之,DAV是一种网络协议,它可以让客户端和服务器之间进行文件的读写操作,可以让用户从任何地方访问和更新文件,也可以让多个用户共享同一份文件,可以让用户在网络上共享文件,而不必担心文件的一致性和安全性。它的应用非常广泛,可以说是网络文件系统的基础。 DAV( http://www.webdav.org/ ) DAV不仅被看作HTTP的扩展,甚至被看作一种网络文件系统(network filesystem ); A final goal of DAV is to leverage the success of HTTP in being a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access. 当然,它不可能想本地文件系统一样随心所欲,它支持的操作还是有限的,以下三条: 1. 支持锁定,Client可以先Lock Server上的file,然后操作; 2. 查找、定位,即DASL协议,DAV的一个子协议; 3. 拷贝、移动、创建、列举,:不知道为什么叫做Namespace manipulation; 用FrontPage、Excess等打开、编辑远程网站用的就是这个协议,它使得FrontPage可以编辑、覆盖、删除Server上的文件。 首先看看DASL协议是如何查找Server端的文件系统: 最新草案:http://greenbytes.de/tech/webdav/draft-reschke-webdav-search-latest.html 总原则:使用Request发送XML格式的查询字符串(Request-URI),得到Response,包含查询结果(也是XML格式); Request-URL语法的一般形式: /container1/ infinity 10000 对于DAV:SELECT 和 DAV:PROP的解释在 http://www.ietf.org/rfc/rfc2518.txt 下面是获取url下所有目录、文件信息的C#代码,目的就是组合一个 HTTP头+Request-URL: // url指定Server端的检索目录,我认为也可以通过Request-URL的DAV:where部分来定: HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url); Request.Headers.Add("Translate: f"); Request.Credentials = CredentialCache.DefaultCredentials; string requestString = ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""; MessageBox.Show(requestString.ToString());// 只是显示一下Request-URL Request.Method = "PROPFIND"; // 有 GET 、POST、PROPFIND..... if (deep == true) // 设定服务器上的检索深度 Request.Headers.Add("Depth: infinity"); else Request.Headers.Add("Depth: 1"); Request.ContentLength = requestString.Length; Request.ContentType = "text/xml"; Stream requestStream = Request.GetRequestStream(); requestStream.Write(Encoding.ASCII.GetBytes(requestString),0,Encoding.ASCII.GetBytes(requestString).Length); requestStream.Close(); HttpWebResponse Response; StreamReader respStream; try { Response = (HttpWebResponse)Request.GetResponse(); respStream = new StreamReader(Response.GetResponseStream()); } catch (WebException e) { ..... }
DAV( http://www.webdav.org/ ) DAV不仅被看作HTTP的扩展,甚至被看作一种网络文件系统(network filesystem ); A final goal of DAV is to leverage the success of HTTP in being a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access. 当然,它不可能想本地文件系统一样随心所欲,它支持的操作还是有限的,以下三条: 1. 支持锁定,Client可以先Lock Server上的file,然后操作; 2. 查找、定位,即DASL协议,DAV的一个子协议; 3. 拷贝、移动、创建、列举,:不知道为什么叫做Namespace manipulation; 用FrontPage、Excess等打开、编辑远程网站用的就是这个协议,它使得FrontPage可以编辑、覆盖、删除Server上的文件。 首先看看DASL协议是如何查找Server端的文件系统: 最新草案:http://greenbytes.de/tech/webdav/draft-reschke-webdav-search-latest.html 总原则:使用Request发送XML格式的查询字符串(Request-URI),得到Response,包含查询结果(也是XML格式); Request-URL语法的一般形式: /container1/ infinity 10000 对于DAV:SELECT 和 DAV:PROP的解释在 http://www.ietf.org/rfc/rfc2518.txt 下面是获取url下所有目录、文件信息的C#代码,目的就是组合一个 HTTP头+Request-URL: // url指定Server端的检索目录,我认为也可以通过Request-URL的DAV:where部分来定: HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url); Request.Headers.Add("Translate: f"); Request.Credentials = CredentialCache.DefaultCredentials; string requestString = ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""; MessageBox.Show(requestString.ToString());// 只是显示一下Request-URL Request.Method = "PROPFIND"; // 有 GET 、POST、PROPFIND..... if (deep == true) // 设定服务器上的检索深度 Request.Headers.Add("Depth: infinity"); else Request.Headers.Add("Depth: 1"); Request.ContentLength = requestString.Length; Request.ContentType = "text/xml"; Stream requestStream = Request.GetRequestStream(); requestStream.Write(Encoding.ASCII.GetBytes(requestString),0,Encoding.ASCII.GetBytes(requestString).Length); requestStream.Close(); HttpWebResponse Response; StreamReader respStream; try { Response = (HttpWebResponse)Request.GetResponse(); respStream = new StreamReader(Response.GetResponseStream()); } catch (WebException e) { ..... }
抱歉,此页面的内容受版权保护,复制需扣除次数,次数不足时需付费购买。
如需下载请点击:点击此处下载
扫码付费即可复制
antenna-Reflector | antenna-Folded Dipole | antenna-Flattop | antenna-Ferrite | antenna-Dummy | antenna-Directional | antenna-Dipole | antenna-Corner | antenna-Coaxial | antenna-Cassegrain | antenna-Broadband | antenna-Artificial |