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,就会返回该状态码。

 

 

posted @ 2020-08-24 15:17  RoseLv  阅读(122)  评论(0)    收藏  举报