HTTP响应报文 (Response)基本结构
也叫
其实比更加简单, 你只要能够搞懂 那么就很容易搞懂!
的一个基本结构分为如下几点:
我们可以通过抓取网络数据包的手段,就可以看到一个基本的结构都包含哪些信息!
如果你还看不明白 那么我们先来看一张图解 你就会明白了!
然后我们来上图中的各个部分!
1.响应行
也叫, 上图中内部其实包含了3个重要的信息部分:
现目前都是 版本 这个没什么好说的!
可以用来表示网页服务器端给客户端返回的响应状态, 通常都是的代码, 而这些常见的又可以分为几种提示类型: 🙂 如下表
类别状态码 描述 这种类别的 为 通常表示 这种类别的 为通常表示 这种类别的 为通常表示 这种类别的 为通常表示 这种类别的 为通常表示
是紧跟在后面的
每一种具体类别可以参考下表:
消息: 状态描述 含义 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。 101 Switching Protocols 服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。
消息: 状态描述 含义 200 OK 请求成功(其后是对GET和POST请求的应答文档。) 201 Created 请求被创建完成,同时新的资源被创建。 202 Accepted 供处理的请求已被接受,但是处理未完成。 203 Non-authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。 204 No Content 没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。 205 Reset Content 没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。 206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它。
消息: 状态描述 含义 300 Multiple Choices 多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。 301 Moved Permanently 所请求的页面已经转移至新的url, 说通俗一点表示请求的资源分配了url,以后就应该使用这个url 302 Found 所请求的页面已经临时转移至新的url, 也就是说请求的资源临时分配了url,本次请求暂且使用这个url, 这里的区别是,302表示临时性重定向,重定向的url还有可能还会改变。 303 See Other 表示请求的资源路径发生改变,请使用方法请求url。其实与302一样,但是明确指出让我们使用方法请求url 304 Not Modified 未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。 305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取。 306 Unused 此代码被用于前一版本。目前已不再使用,但是代码依然被保留。 307 Temporary Redirect 被请求的页面已经临时移至新的url。
消息: 状态描述 含义 400 Bad Request 服务器未能理解请求,通常为表示请求的报文中存在 ,比如: 提交数据的时候,如果格式有问题,接收端接收,也会出现 401 Unauthorized 被请求的页面需要用户名和密码。 402 Payment Required 此代码尚无法使用。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许, 请求的方式方法与后台规定的方式不符合 例如: 比如: 后台方法规定的请求方式只接受,如果用请求,就会出现 的提示 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 410 Gone 被请求的页面不可用。 411 Length Required "Content-Length" 未被定义。如果无此内容,服务器不会接受请求。 412 Precondition Failed 请求中的前提条件被服务器评估为失败。 413 Request Entity Too Large 由于所请求的实体的太大,服务器不会接受请求。 414 Request-url Too Long 由于url太长,服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时,就会发生这种情况。 415 Unsupported Media Type 由于媒介类型不被支持,服务器不会接受请求, 例如: 后台程序不支持提交的类型,就会返回 416 服务器不能满足客户在请求中指定的Range头。 417 Expectation Failed
消息: 状态描述 含义 500 Internal Server Error 请求未完成。服务器遇到不可预知的情况。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。服务器临时过载或当机。 504 Gateway Timeout 网关超时。 505 HTTP Version Not Supported 服务器不支持请求中指明的HTTP协议版本。
2.响应头 (Response Header)
也叫 也就是要告诉的一些附加信息, 但是也有可能这些是由后端开发人员进行自定义的!
通常是告诉返回的是什么类型的内容,如 图片,附件,文本等...你可以暂时这样子去理解!
而且这里的跟 很类似, 格式也基本一样, 它的格式为
具体我这里也列举了一些常见的 如下表:
响应头 含义 HTTP服务器的软件信息 响应报文的时间, 要注意返回时间的时区 服务器指定的一个缓存过期时间 设置Cookie, 也就是返回的一段文本给,让保存好,下次请求就把这个文本带上! 资源最后修改时间 ,也就是客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户,原来缓冲的文档还可以继续使用, 也就是说不用在从服务器中进行返回 返回给的响应类型和编码字符集
例如: 内容长度, 也就是返回给返回的内容是多少字节 例如,表示保持,当然它不会永久保持链接,我们在服务器端中是可以设置的 指明给重定向的位置,也就是新的URL地址 如:304的情况 ......................................
例如: 内容长度, 也就是返回给返回的内容是多少字节 例如,表示保持,当然它不会永久保持链接,我们在服务器端中是可以设置的 指明给重定向的位置,也就是新的URL地址 如:304的情况 ......................................
还有更多的这里就不一一列举了!
3.空白行
也就是规范制定的必须存在的一个, 空行的目的就是一种格式,也就是要告诉用户接下来的内容就是正文内容了!
4.响应体
也就是实际从返回给的正文内容,也可能是一些字符串, 也可以是任意的格式:
大多数情况下都是 这些格式!
总之通俗一点说: 就是返回的页面内容部分 等..
对于相关的的知识点 就说这么多了,对于学习足够了
接下来你就可以愉快的学习了🤗
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/15283.html