2009-06-30 8 views
1

Dans Firefox, nous pouvons personnaliser les valeurs par défaut des en-têtes HTTP, par exemple pour modifier l'en-tête "Accept-Encoding" dans une requête HTTP (type "about: config" dans le navigateur et serach de préférence "network.http.accept-encoding", vous pouvez double-cliquer sur cette valeur et la personnaliser)Personnalisation des valeurs par défaut pour les en-têtes de requête HTTP dans Internet Explorer

Est-ce possible dans Internet Explorer?

Récemment, nous avons rencontré un problème que notre application Web ne charge pas dans IE6.
Une recherche plus approfondie du problème a révélé que l'en-tête "Accept-Encoding" est manquant dans toutes les requêtes HTTP envoyées par IE6. Par conséquent, le serveur répond avec l'erreur 404 "Not Found" pour toutes les demandes de fichiers javascript car nous ne conservons que les versions gzippées des fichiers javascript en raison de contraintes d'espace.

S'il vous plaît laissez-moi savoir s'il existe une option dans IE pour spécifier des valeurs pour "Accept-Encoding" en-tête afin qu'il soit envoyé dans le cadre de chaque demande?

Répondre

2

@tialaramex: Il est vrai que Microsoft a massivement retravaillé le code de décompression dans IE7, mais autant que je sache, tous les problèmes de décompression dans IE6 ont été corrigés dans des correctifs. @Naga: IE enverra l'en-tête Accept-Encoding si vous avez activé "Utiliser HTTP/1.1" dans Outils/Options Internet/Avancé, et non si vous ne le faites pas. Cependant, votre conception va éclater dans le monde réel, et cela n'a rien à voir avec IE6. Si vous lisez le livre de Steve Souders "Even Faster Websites", vous apprendrez qu'une grande variété de proxies d'entreprise et de produits de sécurité locaux supprimera l'en-tête Accept-Encoding s'il est trouvé. Par conséquent, vous pouvez vous attendre à ce que votre site se brise si vous ne souhaitez que renvoyer du contenu compressé. En réponse à votre question actuelle, non, il n'y a pas de paramètre de configuration qui vous permettrait d'envoyer un en-tête arbitraire.L'ajout d'en-têtes personnalisés dans IE est assez difficile et implique généralement l'écriture d'un wrapper de protocole enfichable asynchrone une pénalité de performance.)

+0

Dans IE 6.0, "Utiliser HTTP/1.1" est déjà coché. Je pense aussi que certains produits de sécurité pourraient effacer l'en-tête "Accept-Encoding", [le proxy d'entreprise dépouillant les en-têtes est exclu dans mon cas car il n'y a pas de proxy entre le serveur et le client même réseau] mais n'a pas pu identifier le produit de sécurité installé sur le bureau qui cause ce problème et n'a trouvé aucune ressource sur Net à ce propos. Merci de m'avoir indiqué la bonne ressource "Sites Web plus rapides" sur cet article. –

+0

Salut Eric, Ce problème est vu avec seulement IE6.0 et pas vu avec IE7.0 et Firefox. Si un logiciel de sécurité supprime l'en-tête "Accept-Encoding", il doit supprimer ces en-têtes pour toutes les demandes de tous les navigateurs. Droite? Veuillez partager vos impressions à ce sujet .. –

+0

Avez-vous vérifié que le serveur recevait une requête HTTP/1.1 du client IE6? – EricLaw

1

Une recherche sur Google vous propose ne voulez pas envoyer des données compressées à IE6 parce it can cause corruption and other mysterious problems. (sans doute que vous pouvez faire votre propre recherche et trouver des dizaines d'autres comme celui-ci)

Microsoft semble avoir « fixe » ce problème Plus d'une fois (par exemple, IE6 SP2 fixe et IE6 SP2_, les utilisateurs continuent à signaler le problème dans IE6 SP2, ce qui suggère qu'ils n'ont aucune idée de ce qui était réellement faux et ont probablement tout simplement déchiré tout le code et remplacé en gros dans IE7

Donc, si l'application web doit fonctionner dans IE6 (je vous plains) alors vous voudrez probablement payer le prix de la tenue des versions non compressées de tous les fichiers. Vous pouvez également ajouter un filtre à votre application Web qui décompresse les fichiers gzip à la volée pour les utilisateurs IE6. Cela rendrait les utilisateurs d'IE6 plus gourmands en ressources CPU et plus lents au service, mais conserveraient l'économie d'espace disque.

Questions connexes