https://bugzilla.wikimedia.org/show_bug.cgi?id=41451

Daniel Kinzler <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #14 from Daniel Kinzler <[email protected]> 2012-11-06 
07:41:18 UTC ---
(In reply to comment #11)
> Squid simply follows the instructions it's getting from MediaWiki in that
> respect. Send Vary / X-Vary-Options headers as appropriate, and then it should
> work.

After a brief look, seems to me that there is no mechanism in Squid that allows
to split the cache based on the value of a specific cookie. Am I missing
something obvious? I just don't see how Vary and X-Vary-Options can be used to
do this. Maybe instead of varying on cookies, we should vary on an ETag?
Anyway, here's what I found so far: 

If we use Vary: Cookie, we will vary on *all* cookies. That would fracture the
cache beyond repair. So, maybe X-Vary-Options can help?

I dug up Tim's original mail containing the patch that introduces
X-Vary-Options into Squid:
<http://www.squid-cache.org/mail-archive/squid-dev/200802/0085.html>. There
seems to be very li8ttle documentation beyond that. From what I see, the best
we can do with that is something like: 

X-Vary-Options: Cookie; string-contains=language; 

But that would just split the cache into two: requests with the "language"
cookie set, and those without the language cookie set. It does not very on the
value of the cookie. Also - is it still true that X-Vary-Options is a custom
patch, and never got into the Squids main line? if not, please fix
<http://wiki.squid-cache.org/Features/XvaryOptions> :)

Anyway - what we would actually need is something like 

X-Vary-Cookie: language

...that would vary on the value of the language cookie. Or maybe X-Vary-Options
could be extended to cover this:

X-Vary-Options: Cookie; string-extract=language=([^;]*); 

But this is messy, and I don't think anyone is up to patching Squid further.
So... other options? Could we vary on the ETAg header, and generate it
depending on the user language? 

PS: I'm also a bit surprised that this issue comes at a surprise. Allowing
anons to set the interface language is requested about once a year, and this
problem is the reason it got shot down time and time again. With regards to
Wikidata, I discussed this problem with several staffers at the Berlin
hackathon and at Wikimania. Essentially I was told "wait for ULS, they'll take
care of that stuff". Hm.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to