[Cyberduck-trac] [Cyberduck] #7472: Head requests failed with 200 response (Openstack Swift)
Cyberduck
trac at trac.cyberduck.ch
Wed Oct 2 19:46:57 UTC 2013
#7472: Head requests failed with 200 response (Openstack Swift)
---------------------------+------------------------
Reporter: виль суркин | Owner: dkocher
Type: defect | Status: new
Priority: normal | Milestone: 4.4
Component: openstack | Version: 4.4
Severity: normal | Resolution:
Keywords: | Architecture: Intel
Platform: Mac OS X 10.8 |
---------------------------+------------------------
Description changed by виль суркин:
Old description:
> We use nginx as reverse proxy for swift-proxy and in some cases enable
> caching. Nginx do GET queries instead of HEAD, because of improvements,
> when caching enabled. And reply to HEAD-reqs actually the same headers,
> as on GETs, but without actual response's body. This is normal behavior,
> as described here
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4
>
> But cyberduck, i think, expect "204 No content" response and do not apply
> reply from server.
>
> Clients should apply 200 response on HEAD requests as described in RFC.
>
> HTTP-log:
> {{{
> POST /v2.0/tokens HTTP/1.1
> Accept: application/json
> Content-Type: application/json
> Content-Length: 145
> Host: auth.dev
> Connection: Keep-Alive
> User-Agent: Cyberduck/4.4 (Mac OS X/10.8.5) (x86_64)
>
> HTTP/1.1 200 OK
> Server: nginx/1.1.19
> Date: Wed, 02 Oct 2013 19:30:09 GMT
> Content-Type: application/json
> Transfer-Encoding: chunked
> Connection: keep-alive
> Vary: X-Auth-Token
> Content-Encoding: gzip
>
>
> HEAD /v1/DEV_35611469d1f24cc596f6c949872513a3 HTTP/1.1
> X-Auth-Token: 03c0a8b7e8144584b6f1c2b1c77ab150
> Host: swift.dev:8080
> Connection: Keep-Alive
> User-Agent: Cyberduck/4.4 (Mac OS X/10.8.5) (x86_64)
>
> HTTP/1.1 200 OK
> Date: Wed, 02 Oct 2013 19:30:11 GMT
> Content-Type: text/plain; charset=utf-8
> Content-Length: 8
> Connection: close
> Accept-Ranges: bytes
> X-Timestamp: 1380717991.93372
> X-Account-Bytes-Used: 1721818
> X-Account-Container-Count: 2
> X-Account-Object-Count: 1
> }}}
New description:
We use nginx as reverse proxy for swift-proxy and in some cases enable
caching. Nginx do GET queries instead of HEAD, because of improvements,
when caching enabled. And reply to HEAD-reqs actually the same headers, as
on GETs, but without actual response's body. This is normal behavior, as
described here
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4
But cyberduck, i think, expect "204 No content" response and do not apply
reply from server.
Clients should apply 200 response on HEAD requests as described in RFC.
Problem appears on stable, beta and nightly builds.
HTTP-log:
{{{
POST /v2.0/tokens HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 145
Host: auth.dev
Connection: Keep-Alive
User-Agent: Cyberduck/4.4 (Mac OS X/10.8.5) (x86_64)
HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Wed, 02 Oct 2013 19:30:09 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Vary: X-Auth-Token
Content-Encoding: gzip
HEAD /v1/DEV_35611469d1f24cc596f6c949872513a3 HTTP/1.1
X-Auth-Token: 03c0a8b7e8144584b6f1c2b1c77ab150
Host: swift.dev:8080
Connection: Keep-Alive
User-Agent: Cyberduck/4.4 (Mac OS X/10.8.5) (x86_64)
HTTP/1.1 200 OK
Date: Wed, 02 Oct 2013 19:30:11 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 8
Connection: close
Accept-Ranges: bytes
X-Timestamp: 1380717991.93372
X-Account-Bytes-Used: 1721818
X-Account-Container-Count: 2
X-Account-Object-Count: 1
}}}
--
--
Ticket URL: <https://trac.cyberduck.ch/ticket/7472#comment:1>
Cyberduck <http://cyberduck.ch>
Open source FTP, SFTP, WebDAV, Cloud Files, Google Docs & Amazon S3 Browser for Mac & Windows.
More information about the Cyberduck-trac
mailing list