merge 3.3 (#18574)
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 7b577b4..f170747 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -355,7 +355,7 @@
 
         """
         self.send_response_only(100)
-        self.flush_headers()
+        self.end_headers()
         return True
 
     def handle_one_request(self):
diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py
index b2bce1c..e758cb9 100644
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -584,7 +584,8 @@
     def test_with_continue_1_1(self):
         result = self.send_typical_request(b'GET / HTTP/1.1\r\nExpect: 100-continue\r\n\r\n')
         self.assertEqual(result[0], b'HTTP/1.1 100 Continue\r\n')
-        self.assertEqual(result[1], b'HTTP/1.1 200 OK\r\n')
+        self.assertEqual(result[1], b'\r\n')
+        self.assertEqual(result[2], b'HTTP/1.1 200 OK\r\n')
         self.verify_expected_headers(result[2:-1])
         self.verify_get_called()
         self.assertEqual(result[-1], b'<html><body>Data</body></html>\r\n')
@@ -652,7 +653,8 @@
         self.assertNotEqual(_readAndReseek(output), b'')
         result = _readAndReseek(output).split(b'\r\n')
         self.assertEqual(result[0], b'HTTP/1.1 100 Continue')
-        self.assertEqual(result[1], b'HTTP/1.1 200 OK')
+        self.assertEqual(result[1], b'')
+        self.assertEqual(result[2], b'HTTP/1.1 200 OK')
 
     def test_with_continue_rejected(self):
         usual_handler = self.handler        # Save to avoid breaking any subsequent tests.
diff --git a/Misc/ACKS b/Misc/ACKS
index e2f990e..76cc888 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1052,6 +1052,7 @@
 Brodie Rao
 Senko Rasic
 Antti Rasinen
+Nikolaus Rath
 Sridhar Ratnakumar
 Ysj Ray
 Eric S. Raymond
diff --git a/Misc/NEWS b/Misc/NEWS
index 25eb033..3159881 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -25,6 +25,9 @@
 Library
 -------
 
+- Issue #18574: Fixed handling of 100-continue reply from server in
+  http.client.HTTPConnection. Patch by Nikolaus Rath.
+
 - Issue #20270: urllib.urlparse now supports empty ports.
 
 - Issue #20243: TarFile no longer raise ReadError when opened in write mode.