day02|计算机网络重难点之HTTP请求报文和响应报文
- 3.HTTP请求报文和响应报文是怎样的,有哪些常见的字段?
3.HTTP请求报文和响应报文是怎样的,有哪些常见的字段?
HTTP请求报文主要是由 请求行、请求头部、空行和请求体 四部分组成
-
请求行主要包括了3个字段
- 第一个是 方法 ,方法就是指定我们要取执行的操作,比如DET方法、PUT方法、POST、DELETE等
- 第二个是 资源路径 ,资源路径就是我们所请求的资源的URI,也就是统一资源标识符【注1】
- 第三个是 HTTP版本,比如说 HTTP/1.1或HTTP/2.0
-
请求头部是用来通知 服务器 有关 客户端 的请求信息,主要包含的字段有:
- Host:它表示 请求的服务器的 域名
- Accept:它表示 客户端 可识别的 内容类型 列表
除此以外,还有很多其他的常用字段。
-
空行 位于请求头部和请求体之间,主要起分隔作用
-
请求体 用于存放即将发送给服务器的数据,通常用于POST和PUT请求
HTTP响应报文用于传达服务器对客户端请求的处理结果和数据,它主要由状态行、响应头、空行和响应体 四部分组成
-
状态行 由3个部分组成,即HTTP版本、状态码 和 状态消息【注2】
-
响应头部 类似于请求头部,作用是把 服务器响应 的信息 告知 给客户端,主要包含的字段有:
- Data:它表示 服务器 产生并发送 该响应报文的 日期和时间
- Last-Modified:它表示 资源最后被修改的日期和时间
- Server:它表示 产生该报文的服务器的信息
- Content-Length:它表示 被发送对象中的 字节数
- Content-Type:它表示 响应体中 对象的类型
除此以外,还有很多其他的常用字段
-
空行 位于响应头和响应体之间,表示响应头的结束
-
响应体 存放服务器实际传输的数据, 可以是文本、HTML页面、图片、视频等,也可能为空
【注1】
- URI: 统一资源标识符,用来唯一标识互联网上资源的一个字符串。它可以用来定位任何类型的资源,包括网页、图片、文件、视频、服务等
- URL:不仅唯一标识了资源,还提供了资源的具体访问路径
- URN:统一资源名称,而不关心资源当前的位置
【注2】
-
例如 HTTP/1.1 200 OK
-
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
502 Bad Gateway:访问请求响应超时
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)