¿Por qué mi C # gzip produce un archivo más grande que Fiddler o PHP?

Si GZip este texto:

Hola Mundo

a través de C # usando este código:

Stream stream = new MemoryStream(Encoding.Default.GetBytes("Hello World"));
var compressedMemoryStream = new MemoryStream();
using (var gzipStream = new GZipStream(compressedMemoryStream, CompressionMode.Compress))
{
    stream.CopyTo(gzipStream);  
    gzipStream.Close(); 
} 

El flujo resultante es de 133 bytes de longitud

Ejecutando la misma cadena a través de cualquiera de FiddlerUtilities.GzipCompress oesta página de PHP El resultado es de sólo 31 bytes de longitud.

En ambos casos, la entrada es de 11 bytes, por lo que me imagino que el resultado de PHP es correcto, pero obviamente esto significa que no puedo descomprimir el zip de PHP desde .NET o viceversa. ¿Por qué la salida de .NET es mucho más grande?

En realidad, resulta que mientras que el resultado de PHP y Fiddler son de la misma longitud que no son los mismos. Puedo descomprimir la versión de PHP en .NET, pero no la versión de Fiddler. La página PHP descomprime los tres, por lo que parece que puede haber una incompatibilidad entre las implementaciones de gzip de Fiddler y .NET.

Según lo solicitado, he subido las tres salidas a Dropbox.aquí.

Y estos son los volcados hexadecimales sin formato de esos archivos (no estoy seguro de si realmente tienen algún uso como este, pero creo que muestra que la diferencia entre el fiddler y la versión de PHP está en el encabezado, en lugar de los datos comprimidos en sí):

Violinista:

0000-0010:  1f 8b 08 00-c2 e6 ff 4f-00 ff f3 48-cd c9 c9 57  .......O ...H...W
0000-001f:  08 cf 2f ca-49 01 00 56-b1 17 4a 0b-00 00 00     ../.I..V ..J....

PHP:

0000-0010:  1f 8b 08 00-00 00 00 00-00 03 f3 48-cd c9 c9 57  ........ ...H...W
0000-001f:  08 cf 2f ca-49 01 00 56-b1 17 4a 0b-00 00 00     ../.I..V ..J....

DO#:

0000-0010:  1f 8b 08 00-00 00 00 00-04 00 ec bd-07 60 1c 49  ........ .....`.I
0000-0020:  96 25 26 2f-6d ca 7b 7f-4a f5 4a d7-e0 74 a1 08  .%&/m.{. J.J..t..
0000-0030:  80 60 13 24-d8 90 40 10-ec c1 88 cd-e6 92 ec 1d  .`.$..@. ........
0000-0040:  69 47 23 29-ab 2a 81 ca-65 56 65 5d-66 16 40 cc  iG#).*.. eVe]f.@.
0000-0050:  ed 9d bc f7-de 7b ef bd-f7 de 7b ef-bd f7 ba 3b  .....{.. ..{....;
0000-0060:  9d 4e 27 f7-df ff 3f 5c-66 64 01 6c-f6 ce 4a da  .N'...?\ fd.l..J.
0000-0070:  c9 9e 21 80-aa c8 1f 3f-7e 7c 1f 3f-22 be 9d 97  ..!....? ~|.?"...
0000-0080:  65 95 7e b7-aa cb d9 ff-13 00 00 ff-ff 56 b1 17  e.~..... .....V..
0000-0085:  4a 0b 00 00-00

Respuestas a la pregunta(5)

Su respuesta a la pregunta