2012-11-22 9 views
12

Non sono completamente sicuro se questo appartiene a SO, ma non so dove altro chiedere.Windows 8 rimuove apparentemente l'intestazione di codifica del contenuto dalle risposte HTTP compresse

Mentre eseguivo il controllo della velocità di caricamento di un'app Web, ho notato che apparentemente nessuna risposta HTTP (non importa di quale tipo - html, css, js) è compressa con gzip/deflate. Cioè, nessuna intestazione di risposta come "Content-Encoding: gzip" è presente in ogni richiesta e il browser segnala che la risorsa non è compressa.

  • testato e confermato in più browser (IE10, 17 FF, Chrome 23, Opera 12.10, Safari 5.x)
  • testato e confermato su due macchine che eseguono Windows 8 Pro
  • ricontrollato con Fiddler - la risposta non è compresso e non contiene un contenuto-Encoding
  • questo non accade solo per le mie applicazioni web, nessun altro sito web che ho provato sembra inviare risposte compressi (a seconda del browser)
  • su Windows 7 le risposte arrivare
  • HTTPS risposte compressi e con tutte le intestazioni sono compressi

Ecco un esempio delle intestazioni di risposta (nota l'assenza dell'intestazione Content-Encoding): response headers on client machine

Ho anche controllato il lato server. Il server esegue Windows Server 2008 R2/IIS 7.5. Ho usato Traccia richieste non riuscite per scoprire cosa sta mandando il server. La risorsa sembra essere compressa:

server side compression

Inoltre, il server sembra di inviare le intestazioni corrette:

compression headers

La mia conclusione: deve essere Windows 8 che sta intervenendo qui. Apparentemente modifica le risposte HTTP. Suppongo che Windows 8 stia ricevendo la risposta compressa, la decomprima, rimuova l'intestazione di codifica del contenuto e trasmetta la risposta modificata ulteriormente lungo la pipeline.

Ora le mie domande:

  • Qualcuno può confermare che Windows 8 modifica risposte HTTP e che funziona il modo che ho descritto?
  • C'è un modo per monitorare o addirittura disabilitare questo comportamento?

Grazie in anticipo per le vostre risposte.

saluti, Andre


Aggiornamento: ho usato Wireshark per vedere ciò che arriva al cliente. Come mi aspettavo, le risorse sono compresse e l'intestazione di codifica del contenuto è ancora presente. L'immagine sotto mostra il protocollo wireshark e in basso a destra la risposta ricevuta da Chrome.

wireshark

Questo conferma la mia ipotesi che Windows 8 sta intervenendo.

+0

Avete controllato a livello di rete sul client con Wireshark? Forse è il tuo ISP. –

+0

Hai un server proxy o un router di lusso sulla tua rete? Può decomprimere i dati per ispezionarli e inviare la risposta decompressa all'utente. – CodeCaster

+1

Ho eseguito il test con le macchine Windows 8 e Windows 7 esattamente sulla stessa rete, ad es. lo stesso provider internet e la stessa infrastruttura di rete. Cercherò di scavare nel traffico di rete con wireshark e vedere cosa riesco a trovare. –

risposta

9

Si è scoperto che il colpevole era il mio software antivirus, Avast, in particolare lo scudo di rete integrato in tempo reale. Disattivandolo, le risposte appaiono nuovamente compresse nei browser.

Ciò che rimane interessante è che Avast era in esecuzione anche sulle macchine Windows 7, anche se su quelle macchine le risposte erano compresse dove applicabile durante i miei test.

+1

Ho lo stesso problema. Ma il browser non appare ancora compresso dopo aver spento il mio software antivirus – Light

+0

La stessa cosa esatta mi sta succedendo, e sospetto che Windows Defender di Microsoft o uno dei Microsoft sospetti "aggiornamenti di sicurezza" ** lunghi ** prima che sospetti il ​​mio software AV. E sì, ho disabilitato l'AV e il problema esiste ancora. – jerhewet

Problemi correlati