请教关于直接写WebServer(Httpd)的问题

请教关于直接写WebServer(Httpd)的问题

我试着写了一个简单WebServer的雏形
用Get方法请求没有问题
但是如果用POST就不好用了
服务端能接收到的数据如下

[Copy to clipboard] [ - ]
CODE:
POST http://127.0.0.1/echo HTTP/1.1
Accept: */*
Referer: http://127.0.0.1/postfile.html
Accept-Language: zh-cn
Content-Type: multipart/form-data; boundary=---------------------------7d602e4014c
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 127.0.0.1
Content-Length: 23556
Proxy-Connection: Keep-Alive
Pragma: no-cache

后面的数据就没了.
但是如果再次调用recv,就可以接收到后面的表单数据.
我完全按照RFC做的,试着分析了几个现成的WebServer源码(分析的满天都是星星),
实在不解,希望高手不吝赐教,谢谢!

谢谢,
是一个PHP的HTTP请求例子吧,你想告诉我什么?
我需要的是服务端的程序的写法,就像Apache,我只需要最基本的功能

1.  上面的 CODE 部分是 HTTP 头部, 客户端发送是将它放在一个包中发送.
2.  两个 \n\n 后面就是 HTTP 体, 就是再 recv 到的数据.
3. http 部分的具体内容不是 webserver 需要关心的, webserver 只用解析 HTTP 头部, 并解析 HTTP 头部.
4. webserver 通过 CGI (通用网关接口) 接口等, 把数据传递给应用程序, 如 CGI, PHP, PERL, ...
5. POST 数据有多种编码方式, 上文是采用的"多块"编码方式, 还有一种常用其用的是 URL 编码方式.

如果有兴趣可以各种看看 webserver 的实现, 如 apache, thttpd, boa, goahead, lighttpd, mini-httpd, ...
这些都是开源的.
另外, 做之前仔细阅读研究下 HTTP/1.0, HTTP/1.1, CGI/1.1 及 编码标准等的 RFC 文档是很有必要的.

Good Luck!
谢谢 newzy

HTTP头和HTTP体在不同的包中发送,这是关键,对吧?
RFC我也看了不少,就是没有发现这一点,可能是我疏忽了.
我试着分析过goahead实现..... 没得到核心实现方式,试试别的

再次谢过楼上的大侠