Subject: FW: A query

From: "Jim Whitehead" <[email-masked]>
Date: Tue, 24 Jul 2001 08:19:03 -0700

Accidentally caught by the spam filter.

- Jim

-----Original Message-----
From: sathyanarayanan_s [mailto:[email-masked]]
Sent: Monday, July 23, 2001 3:12 AM
To: [email-masked]
Subject: [Moderator Action] A query

Hi,
I require a clarification in the functioning of the WebDAV.

Consider a set up like below :

			S1	W1	S2

S1 and S2 are two normal servers, while W1 is a webserver with the DAV
inculcated. 
If I want to get a file F1 from W1(at directory D1 say) to S1(at
directory D2) I can say :

COPY /~D1/F1 HTTP/1.1
Host: www.W1.com
Destination: http://www.S1/D2/F1

W1 would then transfer the file from W1 ro S1.

What should happen if I want to stream the file from S2 to S1 via W1 ?
Would the following transaction be performed by W1 ? 

COPY /~D1/F1 HTTP/1.1
Host: www.S2.com
Destination: http://www.S1/D2/F1

If no, then what should be transaction to be sent across to W1?

If yes, then :
Would W1 create a file and retain a copy for itself while transferring
it to S1 ?

Any sort of clarification would be most welcome.

Thanks,
Sathya

---

From: "Keith Wannamaker" <[email-masked]>
Date: Tue, 24 Jul 2001 10:52:38 -0400

| -----Original Message-----
| Consider a set up like below :
|
| 			S1	W1	S2
|
| S1 and S2 are two normal servers, while W1 is a webserver with the DAV
| inculcated. 
|
| If I want to get a file F1 from W1(at directory D1 say) to S1(at
| directory D2) I can say :
| 
| COPY /~D1/F1 HTTP/1.1
| Host: www.W1.com
| Destination: http://www.S1/D2/F1
| 
| W1 would then transfer the file from W1 ro S1.

Yes, assuming S1 supports PUT and W1 supports COPYs onto remote servers.
Although this is allowed in the dav spec, Xythos is the only server 
I know of that has implemented it.

| What should happen if I want to stream the file from S2 to S1 via W1 ?
| Would the following transaction be performed by W1 ? 

This is not possible with the current webdav spec.  The source file must
reside on a DAV-enabled server, or at least one that makes sense of a COPY
request.

However, Xythos' dav implementation makes this possible by supporting
COPY with a Source: header.  So you could perform your request with 
two transactions:

COPY /temp HTTP/1.1
Host: www.W1.com
Source: http://www.s2.com/D1/F1

COPY /temp HTTP/1.1
Host: www.W1.com
Destination: http://www.s1.com/D1/F1

Again, assuming S1 supports PUT and W1 is an Xythos Dav server.

Keith