Dear XRootD devs, trying to use rclone against an XRootD redirector using `cms.dfs lookup distrib`, I realized it fails. The cause is that the Go stdlib would rewrite the request method to `GET` when a 302 status is encountered. Going through history, it seems the cause is that 302 allowed clients to rewrite the request method to `GET` at least for `POST` requests, as shown in [RFC2616](https://datatracker.ietf.org/doc/html/rfc2616#section-10.3.3). Later on, it was recommended to clarify server intent by using one of: * `303` in case the request method should indeed be changed to `GET`. * `307` in case the request method should be kept on redirect. You can find a more in-depth discussion at: * https://github.com/rclone/rclone/issues/6029 * https://github.com/golang/go/issues/41377 dCache seems to use 307 at least on `PUT` requests, to clarify the request method should not be changed upon redirect: https://github.com/dCache/dcache/blob/edb81b0cc1120721137e15f32800ee4dc7a740c4/skel/share/defaults/webdav.properties#L258-L260 Before trying to push a workaround into rclone, I wonder whether there would be any concerns against changing XrdHttp to use 307 for redirects instead of 302? So I am opening this as an RFC to get opinions. -- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/1638 You are receiving this because you are subscribed to this thread. Message ID: <[log in to unmask]> ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1