PHP içerik müzakere ve HTTP başlıklarını

1 Cevap php

This is a following to my yesterday question: http://stackoverflow.com/questions/1975416/trying-to-understand-the-vary-http-header

Ben farklı MIME tipleri ile servis edilebilir bir. Php var. Ben kullanmak Bunun için "Vary: Accept" (doğru olduğu teyit edilir) HTTP başlığını. Ama ne (aynı URL ile) aynı belge birçok dilde servis edilebilir (ve bu sayfa vekiller tarafından önbelleğe alınabilir) olur? Ben bu kötü tasarım olduğunu biliyorum, ama bazen olmuyor olabilir. Ne özel bir durumda bunu yapmak için bir yol olacaktır.

JJ Birisi iki farklı dilde servis edilebilir bir belge için Vary HTTP başlığı kullanmak istedim bir tartışma bir bağlantı (http://www.w3.org/Protocols/HTTP/Issues/vary-header.html) verdi:

For the request/variant scenario you listed a server SHOULD NOT BE USING VARY: Sorry to shout, but I want it to be real clear. Vary: is strictly for those cases where it's hopeless or excessively complicated for a proxy to replicate what the server would do (other than storing header and doing strict request header equality comparisons on subsequent requests).

Ben çözüm JJ tarafından sağlanan bağlantı yatıyor düşünüyorum, ama ben ve nasıl PHP bunu uygulamak için ne olduğundan emin değilim.

Lütfen ışıkları için teşekkürler!

1 Cevap

Ben hiçbir GET veya sadece Accept-Language başlığına dayanan POST değerleri ile aynı URL üzerinden birden fazla dil vermekteyiz o zaman {kullanmak zorunda olduğunu düşünüyorum [ (3)]}.

Eğer GET argümanlar kullanarak, o sadece doğru önbelleğe alma başlıklarını ayarlamak, değişiklik gerekmez.

Eğer aynı belgeyi kullanmak, ancak URL'leri değişebilir istiyorsanız, o zaman diğer URL'leri taklit etmek PATH_INFO çevre değişkeni kullanabilirsiniz ama aynı belgeyi kullanarak yapabilirsiniz.

Eğer farklı URL'ler varsa onun URI başlık düzeni çalışır.