HTTP报文格式
一、报文格式
http报文的三个组成部分
1.起始行,在请求报文中,起始行用于说明要做什么,响应报文中,起始行用于说明发生了什么。
2.首部字段,起始行后跟随零个或多个首部字段,首部字段为key:value的格式。首部以空行为结束。
3.主体,在空行后即为主体,主体部分是可选的,可以没有。
这是请求报文的格式:
<method> <request-URL> <version>
<headers>
</r/n>(严格来说,这个是属于上面的<headers>,但为了提醒必须有空行,还是写在这边,下同)
<entity-body>
这是响应报文的格式(注意,只有起始行的语法有所不同):
<version> <status> <reason-phrase>
<headers>
</r/n>
<entity-body>
二、起始行
1.请求行
如上面所说,请求行包含方法,请求的URL,版本三个部分。方法告知服务器应进行的操作,URL告知服务器要操作的资源,版本告知服务器所用的http版本。
方法有很多种,我个人比较常用的是GET、HEAD和POST。
GET:用于请求服务器返回某个资源
HEAD:与GET类似,但只返回响应行和头部。
POST:常用于向服务器提交数据。
2.响应行
如上面所说,响应行包括版本,状态码和原因短语三部分。
状态码解释:
100~199——信息性状态码
200~299——成功状态码
300~399——重定向状态码 <p65>
400~499——客户端错误状态码
500~599——服务器错误状态码
三、其他
首部字段和报文主体涉及的有很多,日后有空再写。