答:
HTTP报文分为请求报文和响应报文。
(1) 请求报文 请求报文主要由请求行、请求头、空行、请求体构成。 请求行包括如下字段:
请求头的字段较多,常使用的包含以下几个:
Host:请求的服务器的域名。
Accept:客户端能够处理的媒体类型。
Accept-Encoding:客户端能够解码的内容编码。
Authorization:用于认证的凭证信息,比如token数据。
Content-Length:请求体的长度。
Content-Type:请求体的媒体类型。
Cookie:存储在客户端的cookie数据。
If-None-Match:资源的ETag值,用于缓存控制。
Connection:管理连接的选项,如 keep-alive。
空行是请求头部和请求主体之间的空行,用于分隔请求头部和请求主体。而请求体通常用于 POST 和 PUT 请求,包含发送给服务器的数据。
(2) 响应报文
HTTP响应报文是服务器向客户端返回的数据格式,用于传达服务器对客户端请求的处理结果以及相关的数据。一个标准的HTTP响应报文通常包含状态行、响应头、空行、响应体。
状态行包含HTTP版本、状态码和状态消息。例如:HTTP/1.1 200 OK
响应头部也是以键值对的形式提供的额外信息,类似于请求头部,用于告知客户端有关响应的详细信息。一些常见的响应头部字段包括:
Content-Type:指定响应主体的媒体类型。
Content-Length:指定响应主体的长度(字节数)。
Server:指定服务器的信息。
Expires: 响应的过期时间,之后内容被认为是过时的。
ETag: 响应体的实体标签,用于缓存和条件请求。
Last-Modified: 资源最后被修改的日期和时间。
Location:在重定向时指定新的资源位置。
Set-Cookie:在响应中设置Cookie。
Access-Control-Allow-Origin: 跨源资源共享(CORS)策略,指示哪些域可以访问资源。
空行(Empty Line)在响应头和响应体之间,表示响应头的结束。而响应体是服务端实际传输的数据,可以是文本、HTML页面、图片、视频等,也可能为空。
上一篇:如何同时配置两台VPS服务器?