http/数据组成
来自运维百科
HTTP请求的数据组成可分为以下部分,按顺序排列:
请求行(Request Line)
格式:<方法> <请求目标> <HTTP版本> 方法:GET/POST/PUT/DELETE等 请求目标:通常为URI路径(绝对路径或完整URL) HTTP版本:HTTP/1.1或HTTP/2 请求头(Request Headers) 通用头:Date/Cache-Control/Connection等 请求头:Host/User-Agent/Accept/Authorization等 实体头:Content-Type/Content-Length(当有请求体时) 每个头字段占一行,格式:<字段名>: <值>
空行
必须的CRLF(\r\n)分隔符 标识请求头结束
请求体(Request Body)
可选内容,GET/HEAD等方法通常没有 常见数据格式: application/x-www-form-urlencoded multipart/form-data application/json text/xml 需要配合Content-Type和Content-Length头
其他特性:
块传输编码(Transfer-Encoding: chunked) 持久连接(Connection: keep-alive) 内容协商(Accept-*系列头) Cookie处理(Cookie头) 注:HTTP/2协议使用二进制帧封装,但逻辑结构保持相同。HTTPS会在传输层加密整个HTTP报文。