2009-09-22 7 views
0

J'avais demandé quelques questions concernant la compression des en-têtes HTTP Request here et here mais j'ai un peu commenté la partie réponse HTTP ... Je cherche un moyen de réduire/compacter les en-têtes dans ma réponse HTTP ...
situation est que je communique une application Java ME avec un serveur distant et tout bagage supplémentaire me fait perdre des tas de $$ ...
En supposant que le client et le serveur sont sous mon contrôle quelle solution proposeriez-vous? ?Compactage des en-têtes de réponse HTTP?

+0

Quel démon HTTP est le serveur en cours d'exécution et quelle langue (le cas échéant) utilisez-vous pour générer les réponses du serveur? – bcat

+1

Je ne pense pas que la "compression" de l'en-tête est possible, mais il est possible de réduire les champs inutiles ou de raccourcir les valeurs de retour. Consultez la documentation de votre serveur pour savoir comment configurer les champs d'en-tête. –

+0

@bcat: Serveur Apache Tomcat utilisant la technologie servlet ... langage Java ... –

Répondre

2

Les mêmes mécanismes généraux de compression des demandes s'appliquent aux réponses. Et encore une fois, les en-têtes eux-mêmes ne sont pas compressibles ... seul le contenu de la réponse peut être compressé dans une implémentation conforme à HTTP 1.1.

La façon de spécifier que le serveur devrait compresser la réponse est de définir un en-tête "Accept-encoding", comme décrit dans la section 14.3 de la spécification HTTP 1.1. Cependant, vous êtes à la merci de la mise en œuvre du service pour savoir s'il compressera réellement la réponse pour vous. Si le serveur ne peut/ne veut pas compresser comme vous l'avez demandé, il peut envoyer une réponse 406 non acceptable. Alternativement, une implémentation HTTP crufty côté serveur peut ignorer vos en-têtes Accept- * et envoyer la réponse non compressée.

+0

Vous voulez dire que la comression n'est pas totalement sous notre contrôle? ... l'implémentation côté serveur le décide? .. –

+1

@Kevin - yup. La spécification HTTP décrit la façon dont vous spécifiez ce qui est acceptable, mais finalement le serveur est libre de dire qu'il ne peut/ne veut pas livrer le contenu sous la forme que vous voulez. –

Questions connexes