一个http数据包请求由四个部分组成: 请求行, 请求头标, 请求数据和空行.
1. 请求行
由3个标记组成: 请求方法, 请求URI和HTTP版本, 分别用空格分割.
例如: GET /index.html HTTP/1.1
HTTP规范定义了八种请求方法:
GET 检索URI中标识资源的一个简单的请求
HEAD 与GET方法相同, 服务器只返回状态行和头标, 不返回请求文档
POST 服务器接受被写入客户端输出流中的数据的请求
PUT 服务器保存请求数据作为指定URI新内容的请求
DELETE 服务器删除URI中命名的资源的请求
OPTIONS 关于服务器支持的请求方法信息的请求
TRACE Web服务器反馈http请求和其头标的请求
CONNET 已文档化但当前未实现的一个方法, 预留做隧道处理
2. 请求头标
由关键字/值对组成(key/value), 每行一对, 关键字和值用冒号(:)分隔
请求头标通知服务器关于客户端的功能和识别, 典型的有:
USer-Agent 客户端厂家和版本
Accept 客户端可识别的内容类型列表
Content-Length 附加到请求的数据字节数
3.空行
最后一个请求头标之后是一个空行,发送回车符和退行, 通知服务器不再有头标.
4. 请求数据
使用POST传送数据, 最常使用的是Content-Type和Content-Length头标.