diff --git a/src/Middleware/ResponseCaching/src/ResponseCachingMiddleware.cs b/src/Middleware/ResponseCaching/src/ResponseCachingMiddleware.cs
index 0961b148c563d50d044ee3a875ce22970e969a9b..b1268642d395449da56b484c0963015b3b6a45c2 100644
--- a/src/Middleware/ResponseCaching/src/ResponseCachingMiddleware.cs
+++ b/src/Middleware/ResponseCaching/src/ResponseCachingMiddleware.cs
@@ -461,8 +461,8 @@ namespace Microsoft.AspNetCore.ResponseCaching
                 }
 
                 EntityTagHeaderValue eTag;
-                if (!StringValues.IsNullOrEmpty(cachedResponseHeaders[HeaderNames.ETag])
-                    && EntityTagHeaderValue.TryParse(cachedResponseHeaders[HeaderNames.ETag].ToString(), out eTag)
+                if (!StringValues.IsNullOrEmpty(cachedResponseHeaders.ETag)
+                    && EntityTagHeaderValue.TryParse(cachedResponseHeaders.ETag.ToString(), out eTag)
                     && EntityTagHeaderValue.TryParseList(ifNoneMatchHeader, out var ifNoneMatchEtags))
                 {
                     for (var i = 0; i < ifNoneMatchEtags.Count; i++)
@@ -482,8 +482,8 @@ namespace Microsoft.AspNetCore.ResponseCaching
                 if (!StringValues.IsNullOrEmpty(ifModifiedSince))
                 {
                     DateTimeOffset modified;
-                    if (!HeaderUtilities.TryParseDate(cachedResponseHeaders[HeaderNames.LastModified].ToString(), out modified) &&
-                        !HeaderUtilities.TryParseDate(cachedResponseHeaders[HeaderNames.Date].ToString(), out modified))
+                    if (!HeaderUtilities.TryParseDate(cachedResponseHeaders.LastModified.ToString(), out modified) &&
+                        !HeaderUtilities.TryParseDate(cachedResponseHeaders.Date.ToString(), out modified))
                     {
                         return false;
                     }
diff --git a/src/Middleware/ResponseCaching/src/ResponseCachingPolicyProvider.cs b/src/Middleware/ResponseCaching/src/ResponseCachingPolicyProvider.cs
index a658b576165cd7085e95cb754292ddaa4199ddd0..42ce2e695e723d794f9e13c75a20a326bd6f43cb 100644
--- a/src/Middleware/ResponseCaching/src/ResponseCachingPolicyProvider.cs
+++ b/src/Middleware/ResponseCaching/src/ResponseCachingPolicyProvider.cs
@@ -167,7 +167,7 @@ namespace Microsoft.AspNetCore.ResponseCaching
         public virtual bool IsCachedEntryFresh(ResponseCachingContext context)
         {
             var age = context.CachedEntryAge!.Value;
-            var cachedCacheControlHeaders = context.CachedResponseHeaders[HeaderNames.CacheControl];
+            var cachedCacheControlHeaders = context.CachedResponseHeaders.CacheControl;
             var requestCacheControlHeaders = context.HttpContext.Request.Headers.CacheControl;
 
             // Add min-fresh requirements
@@ -232,7 +232,7 @@ namespace Microsoft.AspNetCore.ResponseCaching
                 {
                     // Validate expiration
                     DateTimeOffset expires;
-                    if (HeaderUtilities.TryParseDate(context.CachedResponseHeaders[HeaderNames.Expires].ToString(), out expires) &&
+                    if (HeaderUtilities.TryParseDate(context.CachedResponseHeaders.Expires.ToString(), out expires) &&
                         context.ResponseTime!.Value >= expires)
                     {
                         context.Logger.ExpirationExpiresExceeded(context.ResponseTime.Value, expires);
diff --git a/src/Mvc/Mvc.Core/src/Filters/ResponseCacheFilterExecutor.cs b/src/Mvc/Mvc.Core/src/Filters/ResponseCacheFilterExecutor.cs
index 367cc75cf7d99c8aca09b6c979dffcb51f686d0c..2e390e68fcb19e647907316b5192042bee523375 100644
--- a/src/Mvc/Mvc.Core/src/Filters/ResponseCacheFilterExecutor.cs
+++ b/src/Mvc/Mvc.Core/src/Filters/ResponseCacheFilterExecutor.cs
@@ -79,7 +79,7 @@ namespace Microsoft.AspNetCore.Mvc.Filters
 
             if (!string.IsNullOrEmpty(VaryByHeader))
             {
-                headers[HeaderNames.Vary] = VaryByHeader;
+                headers.Vary = VaryByHeader;
             }
 
             if (VaryByQueryKeys != null)
@@ -95,13 +95,13 @@ namespace Microsoft.AspNetCore.Mvc.Filters
 
             if (NoStore)
             {
-                headers[HeaderNames.CacheControl] = "no-store";
+                headers.CacheControl = "no-store";
 
                 // Cache-control: no-store, no-cache is valid.
                 if (Location == ResponseCacheLocation.None)
                 {
                     headers.AppendCommaSeparatedValues(HeaderNames.CacheControl, "no-cache");
-                    headers[HeaderNames.Pragma] = "no-cache";
+                    headers.Pragma = "no-cache";
                 }
             }
             else
@@ -117,7 +117,7 @@ namespace Microsoft.AspNetCore.Mvc.Filters
                         break;
                     case ResponseCacheLocation.None:
                         cacheControlValue = "no-cache,";
-                        headers[HeaderNames.Pragma] = "no-cache";
+                        headers.Pragma = "no-cache";
                         break;
                     default:
                         cacheControlValue = null;
@@ -125,7 +125,7 @@ namespace Microsoft.AspNetCore.Mvc.Filters
                 }
 
                 cacheControlValue = $"{cacheControlValue}max-age={Duration}";
-                headers[HeaderNames.CacheControl] = cacheControlValue;
+                headers.CacheControl = cacheControlValue;
             }
         }
     }
diff --git a/src/Servers/IIS/IIS/src/Core/IISHttpContext.cs b/src/Servers/IIS/IIS/src/Core/IISHttpContext.cs
index ff84132da5032ac05d4cddeab9207d62eefb99f7..8405bbbbede75cfd3a245b85c889c772d1decf2a 100644
--- a/src/Servers/IIS/IIS/src/Core/IISHttpContext.cs
+++ b/src/Servers/IIS/IIS/src/Core/IISHttpContext.cs
@@ -264,7 +264,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core
             // Http/1.x requests with bodies require either a Content-Length or Transfer-Encoding header.
             // Note Http.Sys adds the Transfer-Encoding: chunked header to HTTP/2 requests with bodies for back compat.
             // Transfer-Encoding takes priority over Content-Length.
-            string transferEncoding = RequestHeaders[HeaderNames.TransferEncoding];
+            string transferEncoding = RequestHeaders.TransferEncoding;
             if (string.Equals("chunked", transferEncoding?.Trim(), StringComparison.OrdinalIgnoreCase))
             {
                 return true;
diff --git a/src/Shared/ChunkingCookieManager/ChunkingCookieManager.cs b/src/Shared/ChunkingCookieManager/ChunkingCookieManager.cs
index acff50b94caef6dc98d3379cbc407a4c131c0c25..30ec3c66ed63fc175c16f36acc7e10a91123e076 100644
--- a/src/Shared/ChunkingCookieManager/ChunkingCookieManager.cs
+++ b/src/Shared/ChunkingCookieManager/ChunkingCookieManager.cs
@@ -284,7 +284,7 @@ namespace Microsoft.AspNetCore.Internal
             }
 
             var responseHeaders = context.Response.Headers;
-            var existingValues = responseHeaders[HeaderNames.SetCookie];
+            var existingValues = responseHeaders.SetCookie;
 
             if (!StringValues.IsNullOrEmpty(existingValues))
             {
@@ -299,7 +299,7 @@ namespace Microsoft.AspNetCore.Internal
                     }
                 }
 
-                responseHeaders[HeaderNames.SetCookie] = new StringValues(newValues.ToArray());
+                responseHeaders.SetCookie = new StringValues(newValues.ToArray());
             }
 
             var responseCookies = context.Response.Cookies;