﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
26771	ETags broken when using GZipMiddleware	Kevin Christopher Henry	nobody	"When `GZipMiddleware` compresses the response, it changes the `ETag` by appending `;gzip`. That's a good thing, and compliant with the specification, since you shouldn't use the same strong `ETag` for two different sequences of bytes.

The problem comes when the request tries to do a conditional `GET` using that `ETag` (via the `If-None-Match` header). That `ETag` will be compared to the `ETag` without the `;gzip` suffix and will never match. (This is true whether using the `ConditionalGetMiddleware` or the `condition` decorator). So no one doing gzip compression of their responses is getting any use out of their `ETags`.

The most straightforward solution, I think, and one that's a good match for the layered nature of middleware, would be to strip out the `;gzip` in the `process_request` phase of `GZipMiddleware`."	Bug	closed	HTTP handling	dev	Normal	duplicate		k@…	Unreviewed	0	0	0	0	0	0
