HTTP报文结构
1.请求报文:请求行,请求头,请求体
其中 POST /wdinfo.php HTTP/1.1\r\n 是请求行,POST表示请求方法,另一种常用的请求方法为GET,/wdinfo.php是请求地址,HTTP/1.1表示使用HTTP协议,版本为1.1
\r是回车,\n是换行,\r\n表示请求行结束。
请求头里的参数,以key:vlaue形式显示。
请求头常见的参数有:
Content-Type:用于说明请求体数据的格式,如x-www-form-urlencoded,text/xml,application/json等
User-Agent:说明浏览器版本,操作系统等信息
Host:域名
Content-Length:表示请求体的长度,服务端可以根据此参数确认数据是否接收完整
Cache-control:缓存设置
Accept:代表客户端希望接收的数据类型。如:Accept:text/html,代表客户端希望接收的数据类型是html类型
Accept-Encoding:代表客户端希望接收服务端返回数据的压缩形式,如Accept-Encoding:gzip,deflate,表示客户端希望返回数据被压缩成gzip,压缩的目的是为了提高传输效率
Accept-Language:表示支持的语言,如Accept-Language: zh-cn,zh;q=0.5,表示浏览器支持的语言是简体中文和中文,优先支持简体中文
Accept-Charset:表示客户端希望服务端返回数据的编码格式,如Accept-Charset: iso-8859-1,表示客户端希望返回数据的编码格式为iso-8859-1
请求头和请求体之间用一空行隔开,请求体可以为空。
Connection:表示是否需要持久连接。(HTTP 1.1默认进行持久连接)
2.响应报文:状态行,响应头,响应体
其中 HTTP/1.1 200 OK \r\n 和请求行区别在少了协议HTTP,多了状态码200,表示200请求成功.状态码有以下几种:
1XX:表示接收到请求,可以继续请求
2XX:请求成功,表示请求已被成功接受
3XX:重定向
4XX:客户端错误
5XX:服务端错误
响应头常见的参数有:
Server:服务器应用程序软件的名称和版本
Content-Type:说明响应体数据的格式
Content-Length:响应体的长度
Content-Charset:返回内容的类型
Content-Encoding:响应内容压缩编码类型,如Content-Encoding: gzip
Content-Language:响应体的语言,如Content-Language: en,zh
Cache-Control:告诉所有的缓存机制是否可以缓存及哪种类型,如Cache-Control: no-cache
参考文章:
Web服务之HTTP报文
HTTP 响应头与状态码
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。