1.什么是HTTP
超文本传输协议(英语:HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议,简而言之就是一种服务端与客户端进行数据传输的规则.
规定了什么规则
协议规定了数据的起始边界和结束边界,规定了消息的类型等的各种规则, 使客户端和用户端双方能够相互通信
协议中都有什么
这仅简述一下get请求和post请求的结构. get: 仅包含请求行和请求头. post: 包含请求行,请求头和请求体(且post请求头的信息比get请求头消息多)
2.请求流程的结构
- 业务层: 结构的最上层, 我们书写的业务代码
- 中间件层: 个人理解有点像是javaweb的拦截器, 负责在业务层代码的前面和后面添加一些其他的处理逻辑
- 路由层: 负责解析出url对应的映射
- 协议编(解)码层: 对协议进行进行解码,是对方能够读懂
- 传输层: 负责进行传输数据
3.HTTP协议的不足与展望
HTTP协议的优点有很多,不然也无法成为当今使用最广泛的传输协议. 不过有利必有弊, http请求也具有着一些缺点
作为tcp协议,不可避免的具有队头阻塞的缺陷, 一旦队头的包如果发生延迟或者丢失,队尾必须等待发送端重新发送并接收到数据后才会一起向上交付.