这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
HTTP(Hyper Text Transfer Protocol) 1.超文本传输协议
2.-应用层协议,基于TCP协议
3.·请求响应
4.简单可扩展
5.无状态(每一个请求都是孤立的)
协议分析
Method
Safe (安全的)︰不会修改服务器的数据的方法--GET HEAD OPTIONS
ldempotent(幂等)︰同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
所有safe的方法都是ldempotent的---GET HEAD OPTIONS PUT DELETE
HTTP常见状态码
- 1xx:提示信息,标识目前是协议处理的中间状态,还需要后续的操作
- 2xx:成功,说明报文已经收到,并且被正确处理了
204:no content,响应头里面没有body数据
206:partial content ,用于HTTP分块下载或断点续传,标识相应返回的body数据并不是资源的全部,而是其中一部分,也是成功的处理
- 3xx:重定向,资源位置发生了变动,需要客户端重新发送请求。
301:表示永久重定向moved permantly,说明表示请求的资源永久不存在了
302:表示临时重定向,说明请求的资源还在,需要用另外一个URL访问
301,302都会在响应头里面使用Location字段,指明后续跳转的URL,浏览器会自动重定向到新的Url
304:not modified,不具有跳转的含义,表示资源没有被修改,重定向已经存在的缓冲文件,也叫缓冲重定向,告诉客户端可以继续使用缓存资源,用于缓存控制
- 4xx,客户端错误,请求报文错误,服务端无法处理
- 5xx:服务器错误
501表示客户端请求的功能不支持,类似即将开业,敬请期待的意思。
502是网关拦截
503表示服务器很忙,暂时无法相应客户端,类似网络很忙,请稍后重试的含义
HTTP2
1.消息:与逻辑请求或响应消息对应的完整的一系列帧
2.数据流:已建立的连接内的双向字节流可以承载一条或者多条消息
3.流控制:阻止发送方向接收方发送大量数据的机制(可以用来控制视频缓存)