2010-07-28 7 views
0

J'écris un script qui peut déterminer si une page est compressée ou non, et j'ai fait un peu de recherche et ne peux pas comprendre comment déterminer si une page est compressée. Je suppose qu'une page compressée aurait quelque chose dans les en-têtes pour dire que c'est un fichier compressé. Comme Content-Type ou quelque chose.Existe-t-il un moyen de déterminer si une page est compressée ou non?

Toute aide est appréciée.

+0

Odd Je suppose que cette URL j'utilise ne pas la page compressée bien qu'ils ne jurent qu'il fait. Ca m'a rendu fou! lol Merci pour la réponse, je suppose que je vais aller parler avec les gens du serveur. – Daniel

+0

le serveur ne renverra pas une réponse compressée à moins que le client indique qu'il peut le gérer (avec par exemple 'Accept-Encoding: gzip'). Cela fait partie du processus de négociation de contenu HTTP. Cela pourrait-il être votre problème? – hobbs

Répondre

0

La page compressée comportera un en-tête Content-Encoding avec un algorithme de compression.

Par exemple:

Content-Encoding: gzip

2

Il est en fait Content-encoding. Selon le type de compression, cela peut être gzip (ou x-gzip), deflate ou compress en cas de données compressées.

Pour citer wikipedia:

Les en-têtes « Content-Encoding »/"Accept-Encoding" et "Transfer-Encoding"/"TE" dans HTTP/1.1 permettent aux clients pour éventuellement recevoir des réponses HTTP compressées et (moins souvent) pour envoyer des requêtes compressées. La spécification pour HTTP/1.1 (RFC 2616) spécifie trois méthodes de compression: "gzip" (RFC 1952, le contenu enveloppé dans un flux gzip), "deflate" (RFC 1950, le contenu enveloppé dans un flux au format zlib), et "compresser" (expliqué dans la section 3.5 de la RFC 2616 comme "Le format de codage produit par le programme de compression de fichiers commun UNIX" compress ".Ce format est un codage adaptatif Lempel-Ziv-Welch (LZW). '). De nombreuses bibliothèques clientes, navigateurs et plates-formes de serveur (y compris Apache et Microsoft IIS) prennent en charge gzip.

-1

Faites une demande http avec gzip accepter, puis analyser les en-têtes reçus, et chercher Content-Encoding: gzip

-1

C'est le navigateur web qui peut voir si la page est compressé ou non. En tant que serveur Web, Apache recherche Accept-Encoding: gzip,deflate dans l'en-tête de la requête HTTP. S'il est présent, il compresse la réponse HTML du script PHP et effectue la compression en conséquence.

Ref: http://www.websiteoptimization.com/speed/tweak/compress/