Snímek 1
Transkript
WebDAV
Filip Jandejsek
Prezentace k předmětu X36MTI
Obsah prezentace
{
{
{
{
{
{
{
{
WebDAV
Úvod
Vlastnosti
SW podpora protokolu
Komunikace
Zámky
Kolekce
Zdroje
Závěr
2
Úvod
{
{
{
{
{
WebDAV
WebDAV =
Web Distributed Authoring and Versioning
protokol pro práci se soubory na
vzdálených serverech
standard organizace IETF (Internet
Engineering Task Force) pro vzdálenou
správu souborů
RFC 2518 z února 1999
RFC 4918 z června 2007
3
Vlastnosti
{
umožňuje vytvářet, odstraňovat,
kopírovat, přesouvat a dotazovat se na
z
z
z
z
{
poskytuje zámky zdrojů
z
z
WebDAV
vzdálené dokumenty
informace o dokumentech (autor, datum
vzniku apod.)
kolekce dokumentů
kolekce vlastností dokumentů
výlučný
sdílený
4
SW podpora protokolu
{
klienti
z
z
z
{
webové servery
z
z
z
WebDAV
zabudovaná podpora v MS Windows od verze
2000
davfs2 – WebDAV linux file systém
aplikace 3. stran (SkunkDAV, DAVmanager
apod.)
Apache
Apache Tomcat
Internet Information Server
5
Komunikace
{
HTTP – zajištění komunikace
z
z
WebDAV
využití HTTP 1.1
{ GET, POST, HEAD, OPTIONS, PUT, DELETE,
TRACE
přidává nové HTTP příkazy
{ PROPFIND
{ PROPPATCH
{ MKCOL
{ COPY
{ MOVE
{ LOCK
{ UNLOCK
6
Komunikace
{
XML – nositel informací
z
z
WebDAV
namespace xmlns:D="DAV:"
{ definice elementů spjatých s danými HTTP
příkazy
{ např. PROPPATCH
kořenový element set,
propertyupdate, remove
tvorba uživatelských namespace pro ukládání
libovolných informací
7
Komunikace – příklad – zadání
{
WebDAV
vytvoření nebo změna vlastností Autor a
Popis a smazání vlastnosti Archivni
dokumentu dokument.pdf umístěném na
serveru www.webdavserver.cz
8
Komunikace – příklad – Request
PROPPATCH /dokument.pdf HTTP/1.1
Host: www.webdavserver.cz
Content-Type: text/xml; charset="iso-8859-1"
Content-Length: xxxx
<?xml version="1.0" encoding="iso-8859-1" ?>
<D:propertyupdate xmlns:D="DAV:"
xmlns:Z="http://www.webdavserver.cz/dtd/dt
d-dok">
<D:set>
<D:prop>
<Z:Autor>Bc. Filip Jandejsek</Z:Autor>
</D:prop>
WebDAV
9
Komunikace – příklad – Request
<D:prop>
<Z:Popis>Muj dokument na WebDAV
serveru</Z:Popis>
</D:prop>
</D:set>
<D:remove>
<D:prop>
<Z:Archivni/>
</D:prop>
</D:remove>
</D:propertyupdate>
WebDAV
10
Komunikace – příklad – Response
HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:"
xmlns:Z="http://www.webdavserver.cz/dtd/dtddok">
<D:response>
<D:href>http://www.webdavserver.cz/dokument.pdf
</D:href>
<D:propstat>
<D:prop><Z:Autor/></D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
WebDAV
11
Komunikace – příklad – Response
<D:propstat>
<D:prop>
<Z:Popis/>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
<D:propstat>
<D:prop><Z:Archivni/></D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
WebDAV
12
Zámky – Locks
{
2 úrovně podpory
z
z
z
z
{
{
pro podporu kolektivní práce
uzamknutí zápisu (write-locks)
z
z
{
{
WebDAV
jednoduchá – bez zámků
úplná
DAV:supportedlock vlastnost
HTTP příkaz OPTIONS
výlučný (Exclusive)
sdílený (Shared)
Lock Token – klíč
Timeout zámku
13
Zámky – příklad
Request
DELETE /locked/dokumenty HTTP/1.1
Host: www.webdavserver.cz
{ Response
HTTP/1.1 423 Locked
Content-Type: application/xml; charset="utf-8"
Content-Length: xxxx
{
<?xml version="1.0" encoding="utf-8" ?>
<D:error xmlns:D="DAV:">
<D:lock-token-submitted>
<D:href>/locked/</D:href>
</D:lock-token-submitted>
</D:error>
WebDAV
14
Kolekce
{
{
{
{
obdoba adresářů
linky – soubory ze stejné kolekce nemusí
být na stejném místě nebo serveru
MKCOL – vytvoření kolekce
COPY – kopie souboru / kolekce
z
{
{
WebDAV
hlavičky Depth (0/1/Infinity), Overwrite (T/F),
Destination (URI)
MOVE – přesun souboru / kolekce, jako
COPY
DELETE – smazání kolekce
15
Kolekce – příklad I
{
Vytvoření nové kolekce
z
Request
MKCOL /novy_adr/ HTTP/1.1
Host: www.webdavserver.cz
z
Response
HTTP/1.1 201 Created
{
Kopie souboru
z
Request
COPY /dokument.pdf HTTP/1.1
Host: www.webdavserver.cz
Destination:
http://www.webdavserver.cz/novy_adr/dokument.pdf
Depth: infinity
z
Response
HTTP/1.1 204 No Content
WebDAV
16
Kolekce – příklad II
{
Přesunutí souboru
z
Request
MOVE /dokument.pdf HTTP/1.1
Host: www.webdavserver.cz
Destination:
http://www.webdavserver.cz/smlouvy/dokument.pdf
z
Response
HTTP/1.1 201 Created
Location:
http://www.webdavserver.cz/smlouvy/dokument.pdf
{
Smazání souboru
z
Request
DELETE /novy_adr/dokument.pdf HTTP/1.1
Host: www.webdavserver.cz
z
Response
HTTP/1.1 204 No Content
WebDAV
17
Zdroje
{
{
{
{
{
{
WebDAV
www.webdav.org
interval.cz (interval.cz/clanky/zaklinadlojmenem-webdav)
RFC 2518 (tools.ietf.org/html/rfc2518)
RFC 4918 (tools.ietf.org/html/rfc4918)
RFC 2616 (tools.ietf.org/html/rfc2616)
en.wikipedia.org/wiki/WebDAV
18
Závěr
{
WebDAV
Děkuji vám za pozornost
19
Podobné dokumenty
URL - Europen
v jazyku Python; takové rozšíření se automaticky používá pro výpis hodnot
standardních tříd jazyka C++ (např string, list).
„Automatic Bug Reporting Tool sbírá informace o pádech aplikací a umožňu...
prezentace - DSN - České vysoké učení technické v Praze
České vysoké učení technické v Praze
Fakulta elektrotechnická
Bojujeme s RESTem
http://dev.anyframejava.org/docs.en/anyframe/plugin/springrest/1.0.2/reference/htmlsingle/springrest.html
Semestrální práce z předmětu X36MTI na téma: Libor Bánovský
Tato práce by měla poskytnout ucelený pohled na technologii BitTorrentu. Obsahuje jak
základní informace, které pomohou zorientovat se čtenáři, který o BitTorrentu nikdy neslyšel, tak
informace pok...
PhpMyAdmin
Soubor, pomocí kterého vložíme data ze souboru
vlozeni.php
Více
Digitální tisk
nemohli mít také takové pěkné barevné, jednotně vypadající tiskoviny a zhrozili jste se cen, když potřebujete jen
desítky nebo stovky kusů? Jestli ne, tak to zkuste. Samozřejmě můžete počkat, až Va...
Začínáme s optimalizací pro vyhledávače
pro návštěvníky stránek. Jsou hlavními konzumenty vašeho obsahu a
vyhledávače používají k nalezení vaší práce. Pokud se soustředíte
výhradně na konkrétní vylepšení, která umožňují dosáhnout lepšího...
– TLS (Transport Layer Security)
» vývoj z SSL 3.0
dictionaries: d
velké množství adresářů a souborů o malé velikosti,
minimální změny