前言:
本文所讨论的微型服务器,主要是针对http报文细节进行展开,通过解析http报文的请求,来实现Get 和Post方法。所以重点将在http报文的发送上展开。
调试方法:(由于本人在项目执行中,遇到的最头痛的问题就是如何调试,所以记录下这部分)
1.Get 方式(获取文件,页面等):
直接通过网址访问服务器,比如我的服务器地址是127.196.0.1,如果我想访问本电脑C盘下的test.jpg文件。
那么在浏览器输入:127.196.0.1/c:/test.jpg 即可。
这个时候浏览器发送的报文如下图(报文中Get 之前的 1 是控制台的调试输出信息,Get 之后为http报文):
图一
在http报文的起始行中有要请求的地址(请求url)(红线部分)。同过解析http报文便可获得该路径,也就可以通过fread读取文件,然后组合http响应报文通过socke发送该http包,当然该包不需要通过一次send就发送完毕。
2.post方式(上传文件):
(1)一般服务器的工作