网络基本概念之http响应
响应的消息格式有三部分组成:响应行、响应头、响应体。
网络基本概念之http响应
http 是基于 请求-响应 的方式完成通信的,每一次通信都是由客户端向服务器发出请求,传递一些消息过去,然后经过服务器程序处理后,响应给客户端一些消息。
https 是在 http 协议基础上发展起来的,它增加了安全性,其他和 http 协议完全一致
响应的消息格式
服务器(通常由后端开发)收到请求的消息后,会运行后端代码对请求进行处理,处理完成后,会给予响应。
服务器的响应格式包含三个部分
响应行
响应行是整个响应字符串的第一行。
响应行包含两个部分:
- 协议版本:表示服务器打算和客户端用什么协议通信
- 状态码、状态消息:表示服务器对当前请求的表态
通常,状态码和状态消息是一一对应的,比如状态码 200 的消息就是 OK
不同的请求可能会得到不同的状态码,至于到底会得到哪个状态码,由后端程序决定。
状态码分为五类:
| 分类 | 分类描述 |
|---|---|
| 1** | 信息,服务器收到请求,需要请求者继续执行操作 |
| 2** | 成功,操作被成功接收并处理 |
| 3** | 重定向,需要进一步的操作以完成请求 |
| 4** | 客户端错误,请求包含语法错误或无法完成请求 |
| 5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
通常认为,0~399 之间的状态码都是正常的,其他是不正常的
常见的状态码有:
| 状态码 | 状态信息 | 描述 |
|---|---|---|
| 200 | OK | 一切正常 |
| 301 | Moved Permanently | 资源已被永久重定向 |
| 302 | Found | 资源已被临时重定向 |
| 304 | Not Modified | 文档内容未被修改 |
| 400 | Bad Request | 语义有误,当前请求无法被服务器理解 |
| 403 | Forbidden | 服务器拒绝执行 |
| 404 | Not Found | 资源不存在 |
| 500 | Internal Server Error | 服务器内部错误 |
响应头 header
和请求头一样,响应头也是由很多个键值对组成的,具体有哪些键值对,完全取决于服务器程序
目前,对我们最重要的键值对是Content-Type,它有多种取值,表示响应体的数据类型。
在 B/S 模式中,浏览器会自动根据响应头中Content-Type的取值,决定如何处理响应体。
text/plain: 普通的纯文本,浏览器通常会将响应体原封不动的显示到页面上text/html:html 文档,浏览器通常会将响应体作为页面进行渲染text/javascript或application/javascript:js 代码,浏览器通常会使用 JS 执行引擎将它解析执行text/css:css 代码,浏览器会将它视为样式image/jpeg:浏览器会将它视为 jpg 图片attachment:附件,浏览器看到这个类型,通常会触发下载功能- 其他
MIME类型
响应体 body
响应的主体内容
本文由作者按照 CC BY 4.0 进行授权
