http协议
一、前后端分离的应用程序
- 前后端分离之前,前端只负责写静态页面交给后工程师渲染数据,统一部署到后端服务器,没有前端工程师之说
- 前后端分离图示
-
通讯协议http
-
通讯技术ajax
-
业务定义接口文档
二、http协议
- 引入
- HTML是一种用来定义网页的文本,会HTML,就可以编写网页;
- HTTP是网络上传输HTML和数据的协议,用于浏览器和服务器的通信
- 在Web应用中,服务器把网页传输给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来
- 而浏览器和服务器之间的传输协议是HTTP
- HTTP(超文本传输协议)
- HTTP是一个基于请求与响应模式的、无状态的、应用层的协议
- 绝大多数的Web开发,都是构建在HTTP协议之上的Web的应用
-
HTTP协议的主要特点
- 支持客户/服务器模式
- 简单快速:客户向服务器请求服务时,只需要发送方法请求和路径。请求方法常用的有get,post,head。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通讯速度很快
- 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type标记
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
- 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大
三、HTTP协议之URL
url:统一资源定位符
四、HTTP的工作流程(记忆)
- 和服务器建立链接
- 建立链接之后,发送一个请求给服务器(请求)
- 服务器接收到请求以后进行相应的处理并给出一个回应(响应)
- 断开服务器链接
五、和服务器建立链接
建立链接的主要步骤叫做三次握手
六、发送一个请求
一次请求就是向目标服务器发送一串文本。什么样的文本?有以下结构的文本
HTTP请求包结构
http请求由三部分组成,分别是:请求行、请求头部、请求包体(正文)
七、接受一个响应
HTTP响应包结构
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
状态行格式如下