
之前剖析了一波HTTP的相关原理,今天就来总结说下HTTP原理下这些特点;
灵活可扩展
在早期的时候,HTTP协议仅仅规定了报文的基本格式,用【空格】分隔单词,用【换行】分隔字段,是【header】+【body】的形式;
随着互联网不断的发展,HTTP协议也在不断的完善,出现了【请求方法】、【头字段】等特性;
body里面也不局限于传输文本和HTML了,现在都支持【图片】、【音频】等数据;
上述描述HTTP的发展也体现出了其【灵活可扩展】
可靠传输
HTTP协议也是一个【可靠】的传输协议;
因为HTTP协议是基于【TCP/IP】协议,由于TCP本身是一个【可靠】的传输协议,所以HTTP协议就继承了该特点;
这里【可靠】传输是指在网络基本正常的情况下数据发必定成。是【3个9】或者【4个9】的程度;
应用层协议
对HTTP是一个应用层协议
可以这么说HTTP集合可以传递任意类型的数据,满足各种需求,是一个【万能】协议;
可以说HTTP的横空出现,就是【技压群雄】,属于明星级别的【协议】
为啥呢?因为HTTP的头字段中可以携带任意字段,以及body中可以携带任意的报文结构;
请求-应答
HTTP协议使用的是 请求-应答的通信模式;
通俗的讲就是 【一发一收】,【有来有去】;
套路就是:请求方向发起连接和请求,属于主动的行为。而应答方在收到请求后进行处理再给出答复,是属于被动的。
当没有请求就不会主动发出应答的;
无状态
HTTP协议是无状态的
【状态】可以理解成服务器中的一个标志。记录通信过程中的变化信息;但是HTTP是无状态的,就不会有这些变化信息的记录;
比如ClientA发出请求告诉Server"我是Client,我想要A图片",服务器收到请求后,就会校验Client的身份权限,校验通过后把A图片返回给Client
接着ClientA又想要B图片,此时Server收到请求后,还是会校验Client的身份权限,校验通过后把B图片返回给Client
Server是不会记录刚才请求状态,不知道两次请求都是ClientA发来,所以每次都需要校验身份,检查权限;道理就是这么个道理;
网友评论