http协议是什么
http协议是一中超文本类型并且应用广泛的应用层协议,是网页端和服务器进行交互的媒介(浏览器向服务器发送http请求,服务器),也是程序员打交道最多的协议,并且http在传输层是基于TCP实现的,应用层协议就是把传输的字节流赋予一定的含义,例如把一串数据转化为图片格式,视频格式的可视化文件
现有的http有三个版本
http1(基于tcp实现,也是应用最为广泛的协议)
http2(相比于版本1增加了安全性能)
http3(基于udp主要是提高效率)
补充:在已知的网络层次中,传输层,网络层,数据链路层,物理层,这些都是为了传输信息而不是编程,数据的传输并不关心数据具体是什么 ,应用层就是关心数据具体是啥来解决实际问题
理解应用层协议
我们已经学过 TCP/IP , 已经知道目前数据能从客户端进程经过路径选择跨网络传送到服务器端进程 [ IP+Port ]
. 可是,仅仅把数据从A点传送到B点就完了吗?
这就好比,在淘宝上买了一部手机,卖家[ 客户端 ]把手机通过顺丰[ 传送+路径选择 ] 送到买家 [ 服务器 ] 手里就完了吗?
当然不是,买家还要使用这款产品,还要在使用之后,给卖家打分评论。 所以,我们把数据从A端传送到B端, TCP/IP 解决的是顺丰的功能,而两端还要对数据进行加工处理或 者使用,所以我们还需要一层协议,不关心通信细节,关心应用细节! 这层协议叫做应用层协议。而应用是有不同的场景的,所以应用层协议是有不同种类的,其中经典协议 之一的HTTP就是其中的佼佼者. 再回到我们刚刚说的买手机的例子,顺丰相当于 TCP/IP 的功能,那么买回来的手机都附带了说 明书【产品介绍,使用介绍,注意事项等】,而该说明书指导用户该如何使用手机【虽然我们都 不看,但是父母辈有部分是有看说明书的习惯的:)】,此时的说明书可以理解为用户层协议
网络通信涉及的几个核心概念:
1.服务器客户端
2.请求响应
服务器和客户端存在的多种模型
1.一发一收
2.一