周梦康 发表于 2014-03-27 4229 次浏览 标签 : http协议
之前的的样例http://mengkang.net/33.html中,在拼装http报文的时候,用到了"\r\n"也用到了"\r\n\r\n"。但是为什么在$header.="Connection: Close\r\n\r\n";加两个回车换行呢?
这里正好室友有一本《HTTP权威指南》,学习了下http的报文语法
下面是请求报文的格式
<method> <request-URL> <version>
<headers>

<entity-body>
一组http请求的首部<headers>总是应该以一个空行结束,即使受没首部和实体的主体部分,应该以一个空行结束。
那么在上一篇帖子在贴post数据,也就是实体部分之前,也就是首部的结束位置空了一行,就不难理解了。

下面具体学习下首部的语法
首部字段,是一些键值对的列表,简单语法如下:名字(我理解为键)后面跟一个冒号(:),冒号后面可以空一格也可以不空(最好还是空一格吧),然后是内容(值),行末需换行。
HEADGET相似,但是只返回首部,不返回实体的主体部分。这样对于仅仅想获取首部信息来说,效率提高不少呀,比如想判断一个资源是否存在
HEAD /xxx/xx.html HTTP/1.1
Host: zmk.com
Accept: *

评论列表