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 请求,服务器返回图片数据。显而易见地,就有比较多的缺点,比如多次连接导致延迟和带宽浪费,又比如无法并行处理多个请求,影响加载速度。

相关推荐
草莓熊Lotso4 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
XR1234567884 小时前
汽车制造园区网络怎么建?柔性产线与 AGV 的选型逻辑
网络·汽车·制造
IT大白鼠13 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien200414 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt15 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye17 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina17 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
江安下小雨19 小时前
muduo网络库(十六):新增连接池模块
网络·c++
aiot1891893521820 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休20 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制