http: write Header keys with empty values

R=golang-dev, rsc, r
CC=golang-dev
https://golang.org/cl/4630052
diff --git a/src/pkg/http/header.go b/src/pkg/http/header.go
index 95140b0..95a25a8 100644
--- a/src/pkg/http/header.go
+++ b/src/pkg/http/header.go
@@ -62,9 +62,6 @@
 			v = strings.Replace(v, "\n", " ", -1)
 			v = strings.Replace(v, "\r", " ", -1)
 			v = strings.TrimSpace(v)
-			if v == "" {
-				continue
-			}
 			if _, err := fmt.Fprintf(w, "%s: %s\r\n", k, v); err != nil {
 				return err
 			}
diff --git a/src/pkg/http/header_test.go b/src/pkg/http/header_test.go
index 7e24cb0..ccdee8a 100644
--- a/src/pkg/http/header_test.go
+++ b/src/pkg/http/header_test.go
@@ -57,6 +57,16 @@
 		map[string]bool{"Content-Length": true, "Expires": true, "Content-Encoding": true},
 		"",
 	},
+	{
+		Header{
+			"Nil":          nil,
+			"Empty":        {},
+			"Blank":        {""},
+			"Double-Blank": {"", ""},
+		},
+		nil,
+		"Blank: \r\nDouble-Blank: \r\nDouble-Blank: \r\n",
+	},
 }
 
 func TestHeaderWrite(t *testing.T) {