imbo/imbo — pull request #254 by christeredvartsen (2014-02-11 20:13:27+00:00)
Title: Accept header causes different ETag's, even when using an image extension in the URI

If a client requests an image with a given extension, the Accept request header is ignored by Imbo. This means that all clients requesting the same URI (which includes an image extension), regardless of their Accept header, will get the same image.

This means that Imbo should probably send the same ETag for these images as well. Current Imbo uses the Accept header when calculating the ETag:

christer@cosmos:~/dev/imbo (git branch: develop)$ curl -gsI -H "Accept: image/jpeg" http://imbo/users/christer/images/52116c74f6fba61bbc30c225d292d647.jpg?t[]=thumbnail|grep ETag
ETag: "6444331248181739597185a8cf97a0a7"
christer@cosmos:~/dev/imbo (git branch: develop)$ curl -gsI -H "Accept: */*" http://imbo/users/christer/images/52116c74f6fba61bbc30c225d292d647.jpg?t[]=thumbnail|grep ETag
ETag: "180e6365b670ddbe54aa12f905950803"

These values should ideally be the same.

When the client does not specify an image extension, the Accept header comes into play, and the ETag's should no longer match.