18.2.5 SHTTPD头部解析的分析设计
HTTP请求的格式如下:
[METHOD URI HTTP/[1|0].[9|0|1]/r/n]
主要包含方法、URI、HTTP的版本,目前SHTTPD服务器所支持的方法仅为GET,因为GET方法可以满足大部分的Web应用。HTTP的版本,可以取值为0.9、1.0或者1.1。
可以用如下方法获得HTTP版本的主版本号和次版本号。
sscanf(p,
"HTTP/%lu.%lu",
& major,
&minor);
其中p为HTTP版本的头部指针,例如指向“HTTP/1.1”字符串的头部,major内为主版本号,minor内为副版本号。
方法METHOD可以通过字符串比较的方法获得,例如比较字符串头部的三个字符可以判定是否为GET方法,比较POST可以判定是否为POST方法。
URI的获得可以通过比较METHOD结束后两个空格之间的字符串获得。