2010-10-22 34 views
3

Dans les filtres de chapitre (faire défiler vers le bas ~ 50%) dans un article sur le cadre d'appels à distance sont mentionnés 2 voies de compression:Différence entre compression sans état et avec état?

  • compression sans état ZLib
  • ZLib compression stateful

Qu'est-ce que est la différence entre ceux-ci? S'agit-il de ZLib ou de ces méthodes de compression courantes?

Lors de la recherche, je ne pouvais trouver que des services Web avec état et sans état. Les attributs stateless/ful ne sont-ils pas destinés à décrire la méthode de compression?

+0

Merci pour ces réponses, marquerait plus de réponses comme accepté si je pouvais ... – MOnsDaR

Répondre

2

De Transport Layer Security Protocol Compression Methods:

méthodes de compression utilisées avec TLS peuvent soit avec état (le compresseur maintient son état à travers tous les enregistrements compressés) ou sans état (le compresseur comprime chaque enregistrement indépendamment), mais il semble être peu connu avantage en utilisant une méthode de compression sans état au sein de TLS.

Certaines méthodes de compression ont la capacité de maintenir l'histoire
informations lors de la compression et charges utiles de paquets de décompression. Le
historique de compression permet un taux de compression plus élevé à atteindre sur un cours d'eau par rapport à par paquet compression, mais le maintien d'un
l'histoire à travers les paquets implique qu'un paquet peut contenir des données nécessaires pour Décompressez complètement les données contenues dans un paquet différent. L'historique maintenance nécessite donc à la fois un lien fiable et un paquet séquencé . Puisque les protocoles TLS et couche inférieure fournissent une livraison de paquets séquentielle fiable, , l'information d'historique de compression PEUT être maintenue et exploitée si elle est prise en charge par la méthode de compression.

+0

Alors la compression avec état conduit à un taux de compression plus élevé lorsque la méthode utilisée prend en charge l'histoire? – MOnsDaR

+0

Je le pense, mais probablement, comme indiqué dans le document lié, l'augmentation n'est pas si grande ... –

3

En général, sans état décrit un processus qui n'a pas une mémoire des événements passés et stateful décrit tout processus qui a une telle mémoire (et l'utilise pour prendre des décisions.)

En compression, alors, apatride signifie n'importe quel morceau de données qu'il voit, il compresse, sans dépendre des entrées précédentes. C'est plus rapide mais généralement moins compressé; La compression avec état examine les données précédentes pour décider comment compresser les données actuelles, elle est plus lente mais compresse beaucoup mieux.

3

Zlib est un algorithme de compression adaptatif. Tous les algorithmes de compression fonctionnent parce que les données sur lesquelles ils travaillent ne sont pas entièrement aléatoires. Au lieu de cela, leurs données d'entrée ont une distribution non uniforme qui peut être exploitée. Prenez le texte en anglais comme un exemple simple. La lettre e est beaucoup plus commun que la lettre q. Zlib détectera ceci, et utilisera moins de bits pour la lettre e.Maintenant, lorsque vous envoyez beaucoup de messages courts et que vous savez qu'ils sont tous en anglais, vous devez utiliser la compression Zlib statefull. Il conserverait cette représentation bit-bit de la lettre e pour tous les messages. Mais s'il y a des messages en chinois, japonais, français, etc. mélangés, la compression avec état n'est plus aussi intelligente. Il y aura quelques lettres e dans un texte japonais. La compression sans état vérifierait pour chaque message quelles lettres sont communes. Un exemple bien connu de compression sans état ZLib est le format de fichier PNG, qui ne conserve aucun état entre deux images distinctes.