HTTP协议
HTPP协议即超文本传输协议
HTTPS协议:超文本传输安全协议
请求报文格式:
第一部分:请求行,独占一行,包含请求方法,请求路径,请求协议以及协议版本
第二部分:请求头,从第二行开始到第N行,也就是空行前面结束,由键值对组成,可以有一对也可以有多对键值对,请求头里比较重要的信息有:Host,Content-Type,Cookie
第三部分:空行,独占一行,用来隔开第二部分和第四部分
第四部分:请求正文
总结:请求四大要素:请求方法,请求路径,请求头,请求正文
响应报文格式:
第一部分:状态行,独占一行,由协议/协议版本,状态码,状态码描述符组成
第二部分:响应头,第二行第N行,由键值对组成
第三部分:空行
第四部分:响应正文
常用的请求方法:get,post,delete,put
| GET方法 | POST方法 |
| 不安全,数在请求行里显示也就是url里显示 | 安全,数据在请求正文里 |
| 数据在url里,所以大小长度是有限制的(不同的浏览器长度限制不同) | 提交数据大小没有限制 |
| 速度快 | 速度慢 |
| 浏览器默认的请求方法,不需要加密的数据 | 需要指定POST方法,数据需要加密 |
| 会缓存 | 不会缓存 |
| 会保存在浏览器的历史记录中 | 不会保存在浏览器的历史记录中 |
响应状态码:
200-209 响应成功
200 OK: 请求成功
201 Created: 常用于POST,PUT 请求,表明请求已经成功,并新建了一个资源。并在响应体中返回路径。
202 Accepted: 请求已经接收到,但没有响应,稍后也不会返回一个异步请求结果。 该状态码适用于等待其他进程处理或者批处理的场景。
203 No-Authoritative Information: 表明响应返回的元信息(meta-infomation)和最初的服务器不同,而是从本地或者第三方获取的。
主要用于其他资源的镜像和备份。除了前面的情况,首选还是200。
204 No Content: 请求没有数据返回,但是头信息有用。用户代理(浏览器)会更新缓存的头信息。
205 Reset Content: 告诉用户代理(浏览器)重置发送该请求的文档。
206 Partical Content: 当客户端使用Range请求头时,返回该状态码。
300-399重定向消息
400-499 客户端错误响应
400 Bad Request: 请求语法有问题,服务器无法识别。
没有host请求头字段,或者设置了超过一个的host请求头字段。
401 UnAuthorized: 客户端未授权该请求。缺乏有效的身份认证凭证,一般可能是未登陆。登陆后一般都解决问题。
403 Forbidden: 服务器拒绝响应。权限不足。
404 Not Found: URL无效或者URL有效但是没有资源。
405 Method Not Allowed: 请求方式Method不允许。但是GET和HEAD属于强制方式,不能返回这个状态码。
406 Not Acceptable: 资源类型不符合服务器要求。
407 Proxy Authorization Required: 需要代理授权。
408 Request Timeout:服务器将不再使用的连接关闭。响应头会有Connection: close。
426 Upgrade Required: 告诉客户端需要升级通信协议。
500-599 服务器错
500 Internal Server Error: 服务器内部错误,未捕获。
502 Bad Gateway: 服务器作为网关使用时,收到上游服务器返回的无效响应。
503 Service Unavailable: 无法服务。一般发生在因维护而停机或者服务过载。
一般还会伴随着返回一个响应头Retry-After: 说明恢复服务的估计时间。
504 Gateway Timeout: 网关超时。服务器作为网关或者代理,不能及时从上游服务器获取响应返回给客户端。
505 Http Version Not Supported: 发出的请求http版本服务器不支持。如果请求通过http2发送,服务器不支持http2.0,就会返回该状态码。

浙公网安备 33010602011771号