HTTP是什么
HTTP作为一个较常见的应用协议,在面试过程中经常会对其相关内容进行考察,其发展史亦是重点。
HTTP是什么?HTTP为Hyper Text Transfer Protocol的简写,中译超文本传输协议,是在计算机网络里面点对点之间传输 图片、视频等超文本数据的协议和规范。
从投入使用到现在,HTTP经历了4个阶段。现在市面上大多数网站依旧使用的是HTTP 1.1版本。
HTTP 0.9 仅支持GET操作获取纯文本,充分验证了Web服务的可行性,蕴含了进化和拓展到可能。
HTTP 1.0 在上一个版本上取得了突破,新增了HEAD、POST等方法,新增状态响应码,引入了版本号的概念(将上一版本定义为HTTP 0.9版本),引入了HTTP Header(头部)的概念对请求和响应进行拓展,并且传输的内容不再局限于文本。
HTTP 1.1 新增了PUT、DELETE等方法,新增缓存管理和控制,默认长连接(Connection: Keep-Alive),强制要求Host字段,新增管道传输(适用于大文件传输)。
HTTP 2 开始使用二进制进行传输,废弃管道机制可以允许多个请求(无需按序),有专用算法进行压缩头部(拥有一张表进行维护),允许由服务端主动向客户端发送数据(在这一刻,原本客户端和服务端的角色进行互换,所以在描述的HTTP的时候不能总结为“客户端和服务端传输超文本数据的协议”)。
HTTP 3 最突出的贡献是使用了基于UDP协议的QUIC协议(此前的HTTP版本均是基于TCP协议)。