HTTP 1.0 时代,第一次优化

HTTP 是 "HyperText Transfer Protocol" 的缩写,即超文本传输协议。

相较于最初的设计,1.0增加了以下特性:

  1. 增加head,post等新方法。 引入新方法是为了扩充语义,其中 head 方法可以只拿元信息,不必传输全部内容,提高了效率。
  2. 在 response 中增加了响应状态码。 引入响应状态码是为了让请求方可以得知服务端的情况,可以区分请求出错的原因,不会在发生错误时一头雾水。
  3. 引入头部,即请求头和响应头。 这是为了使请求和响应更加的灵活,把控制数据和业务实体进行拆分,也算是一种解耦。
  4. 在请求中加入 http 版本号。 新增版本号意味着工程化,有了版本号说明有了统一的管理。
  5. 引入content-type,使得传输的数据不再限于文本,支持图像,音频,视频。支持传输不同类型的数据,丰富了协议的载体。

HTTP 1.0 时代,浏览器和服务器之间的交互方式非常基础,主要特点包括:

  1. 连接建立:每次请求都需要建立一个新的 TCP 连接,请求完成后立即断开,没有持久连接。
  2. 简单请求-响应模式:浏览器发送一个请求,服务器返回一个响应,一次交互只处理一个请求。
  3. 无头信息:HTTP 1.0 的头部信息较为简单,功能有限,无法支持复杂的请求头和响应头。
  4. 缺乏优化:由于每次请求都重新建立连接,导致网络利用率低,页面加载速度慢,尤其是在需要加载多个资源时。

这时期的使用非常简单,请求 HTML 页面,浏览器发送 GET 请求,服务器返回 HTML 内容;请求图片,浏览器再次发送 GET 请求,服务器返回图片数据。显而易见地,就有比较多的缺点,比如多次连接导致延迟和带宽浪费,又比如无法并行处理多个请求,影响加载速度。

相关推荐
老前端的功夫19 分钟前
HTTP 协议演进深度解析:从 1.0 到 2.0 的性能革命
前端·网络·网络协议·http·前端框架
氵文大师21 分钟前
A机通过 python -m http.server 下载B机的文件
linux·开发语言·python·http
LaoZhangGong12322 分钟前
以太网HTTP数据包格式分析
c语言·stm32·网络协议·http·tcp·arp
赖small强1 小时前
【Linux 网络基础】libwebsockets 技术文档
linux·网络·https·tls·lib·websockets
TT哇2 小时前
消息推送机制——WebSocket
java·网络·websocket·网络协议
帧栈3 小时前
开发避坑指南(72):HttpHeaders 的add()方法和set()方法有什么区别?
java·spring·http
wadesir4 小时前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
带土14 小时前
4. 两台win11 笔记本局域网内文件传输
网络
xixixi777775 小时前
“C2隐藏”——命令与控制服务器的隐藏技术
网络·学习·安全·代理·隐藏·合法服务·c2隐藏
在多学一点6 小时前
iptables的源地址转换和iptables的目标地址转换
网络