Issue #24902: Print server URL on http.server startup

Initial patch by Felix Kaiser.
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 1f6a62b..bd94eaa 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -1177,7 +1177,8 @@
     HandlerClass.protocol_version = protocol
     with ServerClass(server_address, HandlerClass) as httpd:
         sa = httpd.socket.getsockname()
-        print("Serving HTTP on", sa[0], "port", sa[1], "...")
+        serve_message = "Serving HTTP on {host} port {port} (http://{host}:{port}/) ..."
+        print(serve_message.format(host=sa[0], port=sa[1]))
         try:
             httpd.serve_forever()
         except KeyboardInterrupt:
diff --git a/Misc/NEWS b/Misc/NEWS
index e68bbdf..7b3bbd7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -256,6 +256,9 @@
 Library
 -------
 
+- Issue #24902: Print server URL on http.server startup.  Initial patch by
+  Felix Kaiser.
+
 - Issue #25788: fileinput.hook_encoded() now supports an "errors" argument
   for passing to open.  Original patch by Joseph Hackman.