2013-02-06 77 views
0

在有條件兼容/通用服務器,東西喜歡這HTTP消息的最大長度?

#define HTTP_MSG_LEN_MAX = ??; 

... 

int read_request(sockfd, ...) 
{ 
    char *buf = malloc(sizeof(char) * http_msg_len_max + 1); 
    int read_total = 0; 
    int read_once = 0; 

    while (zStrFind(buf, "\r\n\r\n") != -1 && read_total < HTTP_MSG_LEN_MAX) { 
     read_once = read(sockfd, buf + read_total, HTTP_MSG_LEN_MAX - read_total); 

    if (read_once < 0) { 
     fprintf(stderr, "read failed: %s \n", strerror(errno)); 
     free(buf); 
     return -1; 
    } 

    read_total += read_once; 
    } 

    ... 

    return 0; 
} 

我已經知道maximum length of HTTP URI in request, 但什麼是一個HTTP消息的最大長度是多少?
RFC2616沒有提到它。

+0

即時通訊您可以/應該使用緩衝區並重新分配它,如果它太小,而您處理讀取 – ablm

+0

我認爲開發人員可以自己定義此限制,它應該大於8192字節。 最後,我在編譯選項中定義它。 –

回答

2

沒有最大長度(根據規格)。