WebDAV
出自福留子孫
WebDAV 是 web-based distributed authoring and versioning(基於 Web 的分散式登入與版本控制) 的簡稱。它是 HTTP(S) 協定的一種延伸,可讓 Web 伺服器變成一般標準的網路磁碟。在啟用 WebDAV 服務後,你就能透過 HTTP 或 HTTPS 協定連線至 NAS。
目錄
WebDAV 定義
WebDAV 是藉由額外定義 HTTP 中的 methods 與 headers 來實現遠端檔案存取上所需的操作與資訊傳遞:
- The method :描述被顧客端執行的方法。
- Headers :描述有關工作如何被完成的指令。
- A body (optional):定義指令用到的資料或有關方法如何被執行的額外指令。
以下是他額外定義的 methods:
- PROPFIND:檢索遠端系統的集合結構(也叫目錄階層),取得資源的屬性,如查詢檔案的大小、列出目錄下的內容。
- PROPPATCH:修改、刪除資源的屬性,如調整檔案的 ACL 規則。
- COPY:將資源從一個位置(URL)複製到另一個位置(URL),用於複製檔案、目錄。
- LOCK:鎖定資源以供寫入、讀取,支援檔案系統常見的共享鎖與互斥鎖。
- UNLOCK:移除資源的鎖定。
- MOVE:移動資源到另一個位置,用於移動檔案、目錄。
- MKCOL:建立目錄。
WebDAV 協議流程
php 模組需求
- PHP module ctype
- PHP module dom
- PHP module GD
- PHP module iconv
- PHP module JSON
- PHP module libxml
- PHP module mbstring
- PHP module posix
- PHP module SimpleXML
- PHP module XMLReader
- PHP module XMLWriter
- PHP module zip
- PHP module zlib
伺服器啟動 webDAV
用 SRM 上的 File Station 設定 anonymous 資料夾
使用 webDAV
Firefox
- 網址列:https://ip:port/資料夾/檔案, port 若使用 http 預設 5005 ;若使用 https 預設 5006
- 同 session 的第一次讀取時,會要帳號密碼
- anonymous 資料夾,輸入帳號 anonymous ,免設密碼。
- 非 anonymous 資料夾,輸入有權讀取的帳號和密碼。
- 和 80 port 以 web 資料夾為根資料夾不同,webDAV 是 web 資料夾的上一層資料夾為網址列的根資料夾。
- 這是可以用瀏覽器看 php 原始碼的方法,目前 RT1900ac 是沒有開放任何外 port 可以導向內部的 webDAV 服務。
Windows 10
Windows 10 預設只允許 HTTPS WebDAV 連線,若需使用 HTTP 連線,必須先降低 Windows 10 的 WebClient 安全層級,才能使用 HTTP 連線 WebDAV。
- 改登錄 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
[BasicAuthLevel]之值由 1 改 2 - [以系統管理員身分執行 cmd]
- 執行「net stop webclient」先停止 WebClient 服務。可能會回覆「尚未啟動 WebClient 服務」。
- 再執行「net start webclient」,重新啟動 WebClient 服務。
- 去檔案總管,找到「本機」,按右鍵並「連線網路磁碟機」
- 輸入 協定 / ip / port 如右圖
- 輸入有效的使用者帳號及密碼,並點擊「確定」。 anonymous 會過,但無法使用。
- smb://ip/資料夾
- ftp://ip:21/資料夾
- sftp://ip:22
- dav://ip:5005/ 或 davs://ip:5006/
Mac 的檔案總管叫「Finder」
anonymous 登入