我写了一个简单的http服务器,现在只能响应501。但是当我测试它时。它显示
正在尝试127.0.0.1 ... *已设置TCP_NODELAY *已连接到本地主机 (127.0.0.1)端口9999(#0)
获取/ bookstores / HTTP / 1.1
主机:localhost:9999
User-Agent:curl / 7.58.0
接受: /
HTTP / 1.1 501未实现
没有块,没有封闭,没有大小。假设靠近信号端
我的响应代码如下:
#include "handle_client.h"
#include <string.h>
const char *crlf = "\r\n";
const char *sp =" ";
const char *http_version = "HTTP/1.1";
const char *status_code_501 = "501";
char* response_501(){
char *reason_phase = "Not Implemented";
char *status_line = (char *)calloc(4096, sizeof(char));
strcat(status_line, http_version);
strcat(status_line, sp);
strcat(status_line, status_code_501);
strcat(status_line, sp);
strcat(status_line, reason_phase);
strcat(status_line, crlf);
strcat(status_line, crlf);
return status_line;
}
答案 0 :(得分:0)
您需要关闭连接或提供一个内容长度标头字段(设置为零)。参见RFC 7230,第3.3.3节。