Explorar o código

HTTP/1.1 default keep-alive to avoid TIME_WAIT

ithewei %!s(int64=5) %!d(string=hai) anos
pai
achega
03ce9e8f78
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      http/server/HttpServer.cpp

+ 4 - 1
http/server/HttpServer.cpp

@@ -134,7 +134,7 @@ handle_request:
     }
     res->headers["Server"] = s_Server;
     // Connection:
-    bool keepalive = false;
+    bool keepalive = true;
     auto iter_keepalive = req->headers.find("connection");
     if (iter_keepalive != req->headers.end()) {
         if (stricmp(iter_keepalive->second.c_str(), "keep-alive") == 0) {
@@ -144,6 +144,9 @@ handle_request:
             keepalive = false;
         }
     }
+    else if (req->http_major == 1 && req->http_minor == 0) {
+        keepalive = false;
+    }
     if (keepalive) {
         res->headers["Connection"] = "keep-alive";
     }