HTTP协议基础知识一
程序员文章站
2022-03-05 13:37:00
...
HTTP协议诞生
**1989年3月**
**技术**
SGML(标志通用语言)、HTML(超文本标记语言)、URL(统一资源定位符)
ISO七层协议
**
- 应用层
- 会话层
- 表示层
- 网络层
- 传输层
- 数据链路层
- 物理层
**
什么是TCP协议
计算机网络设备想要互相通信,必须基于相同的方法,探测通信目标,由一边发起通信(发起通信称为客户端),使用哪种语言进行通信,怎样结束通信等规则,这种规则我们称为协议
TCP\IP分层有哪几层
- 应用层(作用:决定用户层提供服务时通信活动)
- 传输层(作用:用于计算机数据之间的传输)
- 网络层(作用:处理网络数据包怎样传输到对方,选择一条传输路径)
- 数据链路层(作用:用来连接网络硬件部分)
TCP\IP分层的好处
互联网由一个协议统筹,某个地方需要改变设计时,必须所有整体替换掉,分层之后只需把改动的层替换掉即可,各层间接口规划之后,内部设计就能*改动,设计相对简单,每一层只需考虑自己分配的任务即可,不用理其他问题
TCP\IP通信流程
TCP\IP协议在进行网络通信,通过分层顺序与对方进行通信,发送端往下走,接口端往上走
IP协议在传输过程中有什么作用
IP协议也称网际协议
作用:把各种数据包传送给对方,保证传送到对方,需要满足各类条件,两个重要条件IP地址和MAC地址
IP地址:指明节点分配的路径(IP地址依赖于MAC地址进行通信)
MAC地址:指网卡的固定地址
ARP协议:用来解析地址的协议
同一个局域网中,需要通过多台网络设备和计算机中转才能连接对方,中转时会利用设备MAC地址搜索下一个目标,此时,会采用ARP协议解析地址,
根据对方IP就可以反查出MAC地址
什么是可靠性TCP协议,有什么作用
TCP协议位于传输层,提供可靠的字节流服务
**什么是字节流服务**
字节流服务指方便传输,将数据分割成报文段为单位额数据包进行管理
可靠性指:数据准确的可靠传给对方
TCP协议为了容易传送大数据才把数据分割,TCP协议是能够确认数据是否送达到对方
**TCP协议为什么要采用三次握手策略,有什么好处**
好处:数据包发送出去,TCP协议会向对方确认数据是否成功送达
TCP协议发送数据注意:传输过程中某一个阶段中断,TCP协议会再次以相同的顺序发送相同的数据包
三次握手策略过程
1、握手过程中会使用TCP标志(SYN和ACK)
2、发送端会发送带SYN标志数据包给对方
3、接收端收到后,回传一个SYN\ACK标志的数据表示确认信息
4、发送端再次回传一个ACK标志数据包,代表‘握手’结束(传输结束)
HTTP协议
**请求报文组成**
请求方法、请求URI、协议版本、可选的请求首部字段和内容构成
**响应报文组成**
协议版本、状态码、原因短语、创建响应日期和时间、首部字段及实体
HTTP协议状态:
1、不保存状态
不具备保存之前发送过的请求和响应功能
2、保存状态
Cookie状态管理
协议方法
GET:获取资源
POST:传输实体主体
HEAD:获取报文首部
PUT:传输文件
持久化连接
作用:节省通信量
好处:TCP连接之后可进行多次请求和响应的交互,减少TCP连接的重复建立和断开所造额外开销,
减轻了服务器的负载,减少开销时间,使HTTP提早结束连接
管线化
好处:不用等待响应立即可发送下一次请求,提高服务器效率
管线化和持久化之间的差别
管线化:速度要更快、请求数据更多,可以立即发送下一次请求,提高服务器效率
持久化:可进行多次请求和响应,减少TCP连接的重复建立和断开的开销,使HTTP提早结束连接
HTTP协议状态码
1、服务器接收请求
2、成功接收(200)
3、重定向(301)
4、客户端错误(404)
5、服务器错误(505)