Vary header is overwritten as "Accept-Encoding" after you enable dynamic content compression in Windows

Applies To
Windows 8 Windows 8 Enterprise Windows 8 Pro Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows Server 2012 Standard Windows Server 2012 Standard Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows Server 2012 R2 Standard Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition

Symptoms

When you enable dynamic content compression on a computer that is running Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7 Service Pack 1 (SP1), or Windows Server 2008 R2 SP1, a Vary header is overwritten as "Accept-Encoding."

For example, in an .aspx page, you set the Vary header as "User-Agent" by using the following code:

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 

public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 

Response.Write("Hello"); 
Response.AppendHeader("Vary", "User-Agent"); 

} 
} 

If dynamic content compression is not enabled, the output information resembles the following:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Vary: User-Agent
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 07 Dec 2012 03:17:29 GMT
Content-Length: 584
However, if dynamic content compression is enabled, the Vary header is overwritten as "Accept-Encoding," and the output information resembles the following:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 07 Dec 2012 03:18:33 GMT
Content-Length: 572

Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix Download Available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:

http:⁠//support.microsoft.com/contactus/?ws=support Note The "Hotfix Download Available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must be running one of the following operating systems:

  • Windows 8.1
  • Windows Server 2012 R2
  • Windows 8
  • Windows Server 2012
  • Windows 7 SP1
  • Windows Server 2008 R2 SP1

For more information about how to obtain a Windows 7 or Windows Server 2008 R2 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

976932 Information about Service Pack 1 for Windows 7 and for Windows Server 2008 R2

Registry information

To use the hotfix in this package, you do not have to make any changes to the registry.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows 8.1 and Windows Server 2012 R2 file information notesImportant Windows 8.1 hotfixes and Windows Server 2012 R2 hotfixes are included in the same packages. However, only "Windows 8.1" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 8.1" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.

  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:

    Version Product Milestone Service branch
    6.3.960 0.16 xxx Windows 8.1 and Windows Server 2012 R2 RTM GDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows 8.1 and Windows Server 2012 R2" section. MUM and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows 8.1

File name File version File size Date Time Platform
Compdyn.dll 8.5.9600.16457 30,208 08-Nov-2013 04:26 x86

For all supported x64-based versions of Windows 8.1 and of Windows Server 2012 R2

File name File version File size Date Time Platform
Compdyn.dll 8.5.9600.16457 42,496 08-Nov-2013 05:00 x64
Compdyn.dll 8.5.9600.16457 30,208 08-Nov-2013 04:26 x86

Windows 8 and Windows Server 2012 file information notesImportant Windows 8 hotfixes and Windows Server 2012 hotfixes are included in the same packages. However, only "Windows 8" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 8" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.

  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:

    Version Product Milestone Service branch
    6.2.920 0.20 xxx Windows 8 and Windows Server 2012 RTM LDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows 8 and Windows Server 2012" section. MUM and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows 8

File name File version File size Date Time Platform
Compdyn.dll 8.0.9200.20869 29,184 04-Nov-2013 23:32 x86

For all supported x64-based versions of Windows 8 and of Windows Server 2012

File name File version File size Date Time Platform
Compdyn.dll 8.0.9200.20869 43,008 04-Nov-2013 23:35 x64
Compdyn.dll 8.0.9200.20869 29,184 04-Nov-2013 23:32 x86

Windows 7 and Windows Server 2008 R2 file information notes
Important Windows 7 hotfixes and Windows Server 2008 R2 hotfixes are included in the same packages. However, hotfixes on the Hotfix Request page are listed under both operating systems. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 7/Windows Server 2008 R2" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.

  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:

    Version Product Milestone Service branch
    6.1.760
    1.22xxx
    Windows 7 and Windows Server 2008 R2 SP1 LDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows 7 and for Windows Server 2008 R2" section. MUM and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintaining the state of the updated component. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows 7

File name File version File size Date Time Platform
Compdyn.dll 7.5.7601.22502 42,496 05-Nov-2013 09:26 x86

For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name File version File size Date Time Platform
Compdyn.dll 7.5.7601.22502 46,080 05-Nov-2013 10:47 x64
Compdyn.dll 7.5.7601.22502 42,496 05-Nov-2013 09:26 x86

For all supported IA-64-based versions of Windows Server 2008 R2

File name File version File size Date Time Platform
Compdyn.dll 7.5.7601.22502 89,600 05-Nov-2013 09:45 IA-64
Compdyn.dll 7.5.7601.22502 42,496 05-Nov-2013 09:26 x86

      

      

      

Workaround

To work around the issue, write two HTTP modules to listen on the RQ_SEND_RESPONSE event notification to add back the original Vary header value. One HTTP module is used to store the original Vary header value before the compression, and the other HTTP module is used to restore the Vary header value after the compression.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Additional file information

Additional file information for Windows 8.1 and Windows Server 2012 R2

Additional files for all supported x86-based versions of Windows 8.1

File property Value
File name X86_67e665de430797e566b34074602255b9_31bf3856ad364e35_6.3.9600.16457_none_817c65c742e97645.manifest
File version Not applicable
File size 722
Date (UTC) 08-Nov-2013
Time (UTC) 20:16
File name X86_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.3.9600.16457_none_1cd3de6c4b42c0c9.manifest
File version Not applicable
File size 3,065
Date (UTC) 08-Nov-2013
Time (UTC) 08:42

Additional files for all supported x64-based versions of Windows 8.1 and of Windows Server 2012 R2

File property Value
File name Amd64_0ca9258cb95c7a69c528da655645a3bf_31bf3856ad364e35_6.3.9600.16457_none_aa7c672a8e052e6b.manifest
File version Not applicable
File size 1,094
Date (UTC) 08-Nov-2013
Time (UTC) 20:16
File name Amd64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.3.9600.16457_none_78f279f003a031ff.manifest
File version Not applicable
File size 3,071
Date (UTC) 08-Nov-2013
Time (UTC) 10:25
File name Wow64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.3.9600.16457_none_834724423800f3fa.manifest
File version Not applicable
File size 3,071
Date (UTC) 08-Nov-2013
Time (UTC) 08:40

Additional file information for Windows 8 and Windows Server 2012

Additional files for all supported x86-based versions of Windows 8

File property Value
File name X86_dfdf42e825e8ebea29f5c8dcd62c3032_31bf3856ad364e35_6.2.9200.20869_none_d33717971ef9d0d2.manifest
File version Not applicable
File size 722
Date (UTC) 05-Nov-2013
Time (UTC) 20:32
File name X86_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.2.9200.20869_none_855ff8eb1a33d62a.manifest
File version Not applicable
File size 3,065
Date (UTC) 05-Nov-2013
Time (UTC) 00:08

Additional files for all supported x64-based versions of Windows 8 and of Windows Server 2012

File property Value
File name Amd64_ddba2377cd28a9a557124c3b98ea1749_31bf3856ad364e35_6.2.9200.20869_none_17199fe1b4059dbb.manifest
File version Not applicable
File size 1,094
Date (UTC) 05-Nov-2013
Time (UTC) 20:35
File name Amd64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.2.9200.20869_none_e17e946ed2914760.manifest
File version Not applicable
File size 3,071
Date (UTC) 05-Nov-2013
Time (UTC) 02:53
File name Wow64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.2.9200.20869_none_ebd33ec106f2095b.manifest
File version Not applicable
File size 3,071
Date (UTC) 04-Nov-2013
Time (UTC) 23:53

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7

File property Value
File name X86_043ce6947c70b1bbf49e07650c6f34b3_31bf3856ad364e35_6.1.7601.22502_none_165a2ac799bbbfc0.manifest
File version Not applicable
File size 722
Date (UTC) 05-Nov-2013
Time (UTC) 21:37
File name X86_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.1.7601.22502_none_8aaa64bda71dbce2.manifest
File version Not applicable
File size 3,369
Date (UTC) 05-Nov-2013
Time (UTC) 10:41

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File property Value
File name Amd64_4d649c0e269c7f9981d93b8405047df9_31bf3856ad364e35_6.1.7601.22502_none_ac410899baedf697.manifest
File version Not applicable
File size 1,094
Date (UTC) 05-Nov-2013
Time (UTC) 21:37
File name Amd64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.1.7601.22502_none_e6c900415f7b2e18.manifest
File version Not applicable
File size 3,375
Date (UTC) 05-Nov-2013
Time (UTC) 11:19
File name Wow64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.1.7601.22502_none_f11daa9393dbf013.manifest
File version Not applicable
File size 3,032
Date (UTC) 05-Nov-2013
Time (UTC) 10:08

Additional files for all supported IA-64-based versions of Windows Server 2008 R2

File property Value
File name Ia64_fcb8e1a061ef3157c77af37aed6898b2_31bf3856ad364e35_6.1.7601.22502_none_04cd0e8ffd12b0da.manifest
File version Not applicable
File size 1,092
Date (UTC) 05-Nov-2013
Time (UTC) 21:37
File name Ia64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.1.7601.22502_none_8aac08b3a71bc5de.manifest
File version Not applicable
File size 3,372
Date (UTC) 05-Nov-2013
Time (UTC) 10:24
File name Wow64_microsoft-windows-i..siondynamicbinaries_31bf3856ad364e35_6.1.7601.22502_none_f11daa9393dbf013.manifest
File version Not applicable
File size 3,032
Date (UTC) 05-Nov-2013
Time (UTC) 10:08