2009-07-30 3 views
1

Je suis en train de développer un plugin de navigateur et un système de composants serveur qui diffuse du contenu avec un type de codage personnalisé. Maintenant, je voudrais être en mesure de détecter sur le serveur si le client peut gérer l'encodage spécial, et je voudrais le garder cohérent avec la façon habituelle de travailler avec HTTP, donc depuis le plugin du navigateur, je voudrais ajouter un nouveau codage dans l'en-tête de requête Accept-Encoding. i.e. .:Comment l'en-tête Accept-Encoding peut-il être modifié dans IE avec Url Monikers ou une autre méthode?

Accept-Encoding: gzip, dégonfler, myencoding

J'ai essayé la mise en œuvre IHttpNegotiate et le définir comme un en-tête supplémentaire dans BeginningTransaction, mais il semble que soit l'ignorer ou il est écrasé plus tard.

Répondre

1

Veuillez ne pas essayer de le faire. Toute approche qui vous permettrait de modifier l'en-tête Accept-Encoding (par exemple, l'enrobage du protocole asynchrone enfichable) serait forcément un hack et ne fonctionnerait pas de manière fiable car WinINET, les proxies, etc., font tous des suppositions sur l'encodage et le codage de contenu. en-têtes, et l'introduction d'un nouveau système ne sera pas fiable. Par exemple, j'ai entendu dire que l'un des proxies populaires traiterait les encodages inconnus comme GZIP et réécrirait l'en-tête Content-Encoding en réponse; de toute évidence, cela va casser votre régime.

+0

Intéressant. Quel est le but d'une spécification HTTP si tant de choses vont le casser? Quoi qu'il en soit, ceci est pour une utilisation dans un environnement d'entreprise spécifique, de sorte que la question de proxy ne serait vraiment pas un problème; nous avons déjà testé ce système dans Firefox dans cet environnement. Mais quelles sont les hypothèses faites par WinINET à propos de l'en-tête Accept-Encoding? – Gerald

+0

En tout cas, merci pour la réponse. Prenant ceci en considération, plus le hackery apparent impliqué dans obtenir ceci pour fonctionner dans IE, j'ai décidé juste d'employer un en-tête séparé de demande, et continue avec mon plan original d'employer un type MIME fait sur commande au lieu d'un Content-Encoding. – Gerald

Questions connexes