diff --git a/twisted/web/http_headers.py b/twisted/web/http_headers.py
index 0b93fcf..9663ac6 100644
--- a/twisted/web/http_headers.py
+++ b/twisted/web/http_headers.py
@@ -132,7 +132,14 @@ class Headers(object):
     @ivar _rawHeaders: A C{dict} mapping header names as C{str} to C{lists} of
         header values as C{str}.
     """
-    _caseMappings = {'www-authenticate': 'WWW-Authenticate'}
+    _caseMappings = {
+        'content-md5': 'Content-MD5',
+        'dnt': 'DNT',
+        'etag': 'ETag',
+        'p3p': 'P3P',
+        'te': 'TE',
+        'www-authenticate': 'WWW-Authenticate',
+        'x-xss-protection': 'X-XSS-Protection'}
 
     def __init__(self, rawHeaders=None):
         self._rawHeaders = {}
diff --git a/twisted/web/test/test_http_headers.py b/twisted/web/test/test_http_headers.py
index 1305478..713e840 100644
--- a/twisted/web/test/test_http_headers.py
+++ b/twisted/web/test/test_http_headers.py
@@ -138,10 +138,17 @@ class HeadersTests(TestCase):
         the given header.
         """
         h = Headers()
-        self.assertEqual(h._canonicalNameCaps("test"), "Test")
-        self.assertEqual(h._canonicalNameCaps("test-stuff"), "Test-Stuff")
-        self.assertEqual(h._canonicalNameCaps("www-authenticate"),
+        self.assertEquals(h._canonicalNameCaps("test"), "Test")
+        self.assertEquals(h._canonicalNameCaps("test-stuff"), "Test-Stuff")
+        self.assertEquals(h._canonicalNameCaps("content-md5"), "Content-MD5")
+        self.assertEquals(h._canonicalNameCaps("dnt"), "DNT")
+        self.assertEquals(h._canonicalNameCaps("etag"), "ETag")
+        self.assertEquals(h._canonicalNameCaps("p3p"), "P3P")
+        self.assertEquals(h._canonicalNameCaps("te"), "TE")
+        self.assertEquals(h._canonicalNameCaps("www-authenticate"),
                           "WWW-Authenticate")
+        self.assertEquals(h._canonicalNameCaps("x-xss-protection"),
+                          "X-XSS-Protection")
 
 
     def test_getAllRawHeaders(self):
diff --git a/twisted/web/topfiles/5054.bugfix b/twisted/web/topfiles/5054.bugfix
new file mode 100644
index 0000000..a63c28e
--- /dev/null
+++ b/twisted/web/topfiles/5054.bugfix
@@ -0,0 +1,2 @@
+twisted.web.http_headers.Headers now correctly capitalizes the header names
+Content-MD5, DNT, ETag, P3P, TE, and X-XSS-Protection.
