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沒有提到它。
即時通訊您可以/應該使用緩衝區並重新分配它,如果它太小,而您處理讀取 – ablm
我認爲開發人員可以自己定義此限制,它應該大於8192字節。 最後,我在編譯選項中定義它。 –