当前位置: 首页 > article >正文

什么是http?

HTTP(HyperText Transfer Protocol)超文本传输协议,它是基于TCP/IP协议应用层协议,规定了客户端如何向服务器发请求,以及服务器如何响应这些请求。

http 协议进化史

HTTP 0.9:1991年

只支持GET方法,不支持头部,响应只包含数据体。

HTTP 1.0:1996年

它增加了对POSTHEAD方法的支持,以及对请求头响应头的定义。

HTTP 1.1:1999年

引入了PUTDELETE方法。
增加了更多请求和响应头部,增强了缓存和内容协商的能力。
支持持久连接(Keep-Alive),减少了TCP连接的开销。
引入了chunked encoding,用于分块传输数据,可以一边发送一边处理。
允许发送压缩数据,例如gzip压缩。

HTTP 2.0:2015年

使用二进制分帧,而不是文本行,提高了协议的效率和解析速度。
支持多路复用,可以同时处理多个请求和响应,减少了延迟。
引入了服务器推送(Server Push)功能,服务器可以主动将资源推送给客户端,而无需客户端明确请求。
支持头信息压缩,使用HPACK压缩算法,减小了头部的大小。

HTTP 3.0:HTTP 3.0是HTTP协议的最新版本,目前还在开发中。

使用QUIC协议作为传输层,QUIC是一个快速、安全的传输协议,具有低延迟和更好的安全性。
支持更高效的请求和响应压缩算法。
引入了新的安全特性,如加密握手的改进和防止中间人攻击的机制。


参考

为什么需要HTTP/2,他解决了什么问题?


http://www.kler.cn/a/271565.html

相关文章:

  • 【Block总结】DynamicFilter,动态滤波器降低计算复杂度,替换传统的MHSA|即插即用
  • sem_wait的概念和使用案列
  • Git进阶之旅:Git 配置信息 Config
  • Vue.js `setup()` 函数的使用
  • 【UE插件】Sphinx关键词语音识别
  • 论文阅读(二):理解概率图模型的两个要点:关于推理和学习的知识
  • 【JAVA】JAVA方法的学习和创造
  • 后端系统开发之——创建SpringBoot工程
  • 比特币,区块链及相关概念简介(三)
  • 【Python爬虫+JAVA】采集电商平台数据信息|淘宝|京东|1688|抖音数据返回
  • ChatGPT团队:介绍OpenAI团队生产力提升工具
  • Python Web开发记录 Day9:Django part3 用户管理
  • Java实现GeoJSON 与 EsriJSON格式的相互转换
  • Android中内存泄漏的检测,解决方案以及示例
  • 算法练习:前缀和
  • 前端小白的学习之路(HTML5 一)
  • Linux 基础-查看和设置环境变量
  • 微服务技术栈之rabbitMQ高级(二)
  • 自媒体人的超级宝典
  • 项目经验-查询现网调用情况的实践
  • unity内存优化之AB包篇(微信小游戏)
  • Python之Web开发中级教程----搭建虚拟环境
  • VsCode免密登录
  • 【四 (5)数据可视化之 Pyecharts常用图表及代码实现 】
  • 计算机网络----计算机网络的基础
  • LeetCode 7 / 100