http请求分为请求报文和响应报文
请求报文
请求报文由请求行,请求头,空行,请求体构成
请求行
- method请求方法,指定要执行的操作
- 资源路径,请求的资源的uri
- http协议版本
请求头
请求头常见的字段:
- HOST请求的服务器的域名
- Accecpt客户端可以处理的媒体类型
- Accept-encoding客户端可以处理的编码
- Authorization,认证信息
- Content-length:请求数据长度
- Content-Type:请求数据类型
- if-none-match:是否缓存
- connection:管理链接,例如keep-alive
空行
空行:是请求头和请求体之间的空行,用于分隔;
请求体
请求体:通常用于post和put请求,包含请求的数据;
响应报文
响应报文由状态行,响应头,空行,响应体构成
状态行
状态行由http版本,状态码和状态信息组成;
响应头
响应头常见字段有:
- Content-Type:指定响应体的媒体类型。
- Content-Length:指定响应体的长度(字节数)。
- Server:指定服务器的信息。
- Expires: 响应的过期时间,之后内容被认为是过时的。
- ETag: 响应体的实体标签,用于缓存和条件请求。
- Last-Modified: 资源最后被修改的日期和时间。
- Location:在重定向时指定新的资源位置。
- Set-Cookie:在响应中设置Cookie。
- Access-Control-Allow-Origin: 跨源资源共享(CORS)策略,指示哪些域可以访问资源。
空行
空行(Empty Line)在响应头和响应体之间,表示响应头的结束。
响应体
响应体是服务端实际传输的数据,可以是文本、HTML页面、图片、视频等,也可能为空。