WebDAV
约 3 分钟阅读
- www.webdav.org/specs/rfc4918.html
- 子协议
- CalDAV - 日历
- CardDAV - 联系人
- WebDAV 没有标准位置,常见位置
- /webdav
- /dav
- CalDAV /.well-known/caldav
- CardDAV /.well-known/carddav
# echo Hello > /hello.txt
echo Hello | curl -T - 127.0.0.1:8080/hello.txt
# cat /hello.txt
curl 127.0.0.1:8080/hello.txt
# 上传到目录
touch test.txt
curl -T test.txt 127.0.0.1:8080/
# ls /
curl -X PROPFIND http://127.0.0.1:8080/ | xmllint --format -Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers: Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If
Access-Control-Expose-Headers: DAV, content-length, Allow
Access-Control-Max-Age: 3600Awesome
Server
- rclone
- nginx
- mholt/caddy-webdavGitHubmholt/caddy-webdav
- AlistGo/alistGitHubAlistGo/alist目前被中国公司收购,有投毒历史,谨慎使用。 · https://github.com/AlistGo/alist/issues/9015 · AlistGo/alist · AGPLv3, Go笔记:Alist
- AGPLv3, Go
- NextCloud
- ownCloud
- Seafile
- drakkan/sftpgoGitHubdrakkan/sftpgodrakkan/sftpgo · AGPL-3.0, Go · 协议支持 SSH, FTP, WebDAV · 存储支持 S3, Google Cloud Storage, Azure Blob, SFTP, HTTP/S · 提供 WebClient /web/client 和 WebAdmin /web/admin笔记:sftpgo
- AGPLv3, Go
- SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob
Server Library
- NodeJS
- sciactive/nepheleGitHubsciactive/nephele
- Apache-2.0
- pluggable WebDAV, CardDAV, and CalDAV server for Node.js and Express
- hironico/nico.driveGitHubhironico/nico.drive
- MIT
- WebDAV server written in NodeJS with additional REST API features such as thumbnail generation API
- OpenMarshal/npm-WebDAV-Server-TypesGitHubOpenMarshal/npm-WebDAV-Server-Types
- silexlabs/unifileGitHubsilexlabs/unifile
- MIT, JS
- Unified access to cloud storage services through a simple web API
- sciactive/nepheleGitHubsciactive/nephele
- Golang
- hacdias/webdavGitHubhacdias/webdavhttp://www.webdav.org/specs/rfc4918.html · 子协议 · CalDAV - 日历 · CardDAV - 联系人 · WebDAV 没有标准位置,常见位置 · /webdav · /dav · CalDAV /.well-known/caldav笔记:WebDAV
- MIT, Go
- 使用的 golang.org/x/net/webdav
- golang.org/x/net/webdavLinkgodoc.org/golang.org/x/net/webdavhttp://www.webdav.org/specs/rfc4918.html · 子协议 · CalDAV - 日历 · CardDAV - 联系人 · WebDAV 没有标准位置,常见位置 · /webdav · /dav · CalDAV /.well-known/caldav笔记:WebDAV
- 提供了 WebDAV 的实现。
- cs.opensource.google/go/x/net/+/master:webdav/webdav.go
- hacdias/webdavGitHubhacdias/webdavhttp://www.webdav.org/specs/rfc4918.html · 子协议 · CalDAV - 日历 · CardDAV - 联系人 · WebDAV 没有标准位置,常见位置 · /webdav · /dav · CalDAV /.well-known/caldav笔记:WebDAV
# ghcr.io/hacdias/webdav:latest
# hacdias/webdav:latest
go install github.com/hacdias/webdav/v5@latestPackagesgithub.com/hacdias/webdav/v5Go Packagegithub.com/hacdias/webdav/v5Go
address: 0.0.0.0
port: 6065
behindProxy: true
directory: .
prefix: /webdav
permissions: CRUD
users: []Client
- mickael-kerjean/filestashGitHubmickael-kerjean/filestash
- AGPLv3, JS, Go
- file manager / web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze
- macOS Finder
WebDAVFS/3.0.0 (03008000) Darwin/24.1.0 (arm64)WebDAVLib/1.3
Client Library
- perry-mitchell/webdav-clientGitHubperry-mitchell/webdav-client
- MIT, TS, JS
- Client, Browser, NodeJS
- npm
- sabre.io/dav/clients
Reading
- MS Exchange WebDAV Methods
- Wikipedia:WebDAVWikipediaWebDAV
Props
- dead properties
- 额外属性
- live properties
- 隐含属性
- DAV:
| prop | dir? | note |
|---|---|---|
| resourcetype | x | <D:collection xmlns:D="DAV:"/> |
| displayname | x | |
| getcontentlength | ||
| getlastmodified | x | |
| creationdate | ||
| getcontentlanguage | ||
| getcontenttype | mime | |
| getetag | 一般默认 modtime | |
| lockdiscovery | ||
| supportedlock | x |
- webdav.org/specs/rfc4918.html
- golang.org/issue/15
MS-Author-Via: DAV
NGINX
location /cache/ {
# The path to the directory where nginx should store the cache contents.
root /path/to/cache/dir;
# Allow PUT
dav_methods PUT;
# Allow nginx to create the /ac and /cas subdirectories.
create_full_put_path on;
# The maximum size of a single file.
client_max_body_size 1G;
allow all;
}macOS
- Finder
- Go > Connect to Server
http://webdav.example.com/
- support.apple.com/en-hk/guide/mac-help/mchlp1546/mac
windows
net use z: https:/my.cloud.domain/remote.php/dav/files/USERNAME/ /persistent:yes /user:USERNAME PASSWORD
@echo off
net use z: /delete
echo mit USERNAME verbinden
timeout /T 3 /nobreak >NUL
net use z: https://your.domain.tld/remote.php/dav/files/USERNAME/ /persistent:yes /user:USERNAME PASSWORD- 不使用 HTTPS 连接
- 可能是 WebDAV Client 不支持 SNI - 使用 IP 访问
- 可能不支持 TSLv1.1 / TSLv1.2
- Error 0x800700DF: The file size exceeds the limit allowed and cannot be saved.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters- FileSizeLimitInBytes
- 4GB -> 4294967295
- FileSizeLimitInBytes
关联信息
反向链接、本文链接的其他页面和外部资料。
References
GitHub10 条
- AlistGo/alistgithub.com/AlistGo/alist
- drakkan/sftpgogithub.com/drakkan/sftpgo
- hacdias/webdavgithub.com/hacdias/webdav
- hironico/nico.drivegithub.com/hironico/nico.drive
- mholt/caddy-webdavgithub.com/mholt/caddy-webdav
- mickael-kerjean/filestashgithub.com/mickael-kerjean/filestash
- OpenMarshal/npm-WebDAV-Server-Typesgithub.com/OpenMarshal/npm-WebDAV-Server-Types
- perry-mitchell/webdav-clientgithub.com/perry-mitchell/webdav-client
- sciactive/nephelegithub.com/sciactive/nephele
- silexlabs/unifilegithub.com/silexlabs/unifile
Wikipedia1 条
- WebDAVWikipedia:WebDAV
其他外链8 条
- cs.opensource.google/go/x/net/+/master:webdav/webdav.gocs.opensource.google/go/x/net/+/master:webdav/webdav.go
- docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/aa142917(v=exchg.65)docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/aa142917(v=exchg.65)
- godoc.org/golang.org/x/net/webdavgodoc.org/golang.org/x/net/webdav
- msdn.microsoft.com/en-au/library/cc250217.aspxmsdn.microsoft.com/en-au/library/cc250217.aspx
- sabre.io/dav/clientssabre.io/dav/clients
- support.apple.com/en-hk/guide/mac-help/mchlp1546/macsupport.apple.com/en-hk/guide/mac-help/mchlp1546/mac
- webdav.org/specs/rfc4918.htmlwebdav.org/specs/rfc4918.html
- www.webdav.org/specs/rfc4918.htmlwww.webdav.org/specs/rfc4918.html