1.基础概念

HTTP/1.0 是 Web 通信的奠基协议,1996年正式发布,定义了客户端与服务器之间的基本请求-响应模型。
HTTP/1.0是无状态、无连接的应用层协议。

https://5p6.site/usr/uploads/2026/04/990274220.png

1.1 短连接

短连接:每次请求都要建立连接,每次请求都需要完整地经历 TCP 三次握手 → 发送请求 → 接收响应 → 关闭连接这个循环。一个网页如果包含 10 张图片,就需要建立 11 次独立的 TCP 连接,开销极大。

如果要长连接,需要使用 keep-alive 参数建立长连接、HTTP1.1默认长连接keep-alive,无法复用连接,每次发送请求都要进行TCP连接,TCP的连接释放都比较费事,会导致网络利用率低

1.2 无状态

服务器不保存任何客户端的上下文信息,每次请求对服务器来说都是全新的。这保证了协议的简洁性,但也使得登录状态等需要额外机制(如 Cookie)来实现。

HTTP/1.0 定义了最初的状态码体系,分为五类:

类型 范围 含义 典型示例
信息 1xx 请求已收到,继续处理 100 Continue
成功 2xx 请求成功 200 OK, 201 Created
重定向 3xx 需进一步操作 301 Moved Permanently
客户端错误 4xx 请求有误 404 Not Found
服务器错误 5xx 服务器处理失败 500 Internal Server Error

1.3 缓存

在HTTP1.0中主要使用header里的协商缓存 Last-modified\if-modified-since,强缓存 Expires来做为缓存判断的标准,If-Modified-Since。 Expires是RFC 2616(HTTP/1.0)协议中和网页缓存相关字段。用来控制缓存的失效日期。

Expires 字段声明了一个网页或 URL 地址不再被浏览器缓存的时间,一旦超过了这个时间,浏览器都应该联系原始服务器。RFC告诉我们:“由于推断的失效时间也许会降低语义透明度,应该被谨慎使用,同时我们鼓励原始服务器尽可能提供确切的失效时间。”

1.4 基础的方法

在官方 RFC 1945 标准中,HTTP/1.0 仅定义了以下三个方法:

方法 描述 典型用途
GET 请求读取由 URL 标识的信息。 浏览网页、下载图片。
POST 向服务器提交数据(如表单),数据包含在请求体中。 提交注册表单、上传文件。
HEAD 与 GET 类似,但服务器只返回响应头,不返回实体内容。 检查文件是否存在、查看文件最后修改时间(节省流量)。

2.存在的问题

2.1 队头阻塞

队头阻塞(head of line blocking),由于HTTP1.0规定下一个请求必须在前一个请求响应到达之前才能发送,假设前一个请求响应一直不到达,那么下一个请求就不发送,后面的请求就阻塞了。

2.2 其他问题

HOST域。认为每个服务器绑定唯一一个IP地址 ,因此在请求消息的URL中没有主机名,HTTP1.0没有host域。而现在在一台服务器上可以存在多个虚拟主机,并且它们共享一个IP地址。

无断点续传。HTTP1.0不支持断点续传功能,每次都会传送全部的页面和数据。如果只需要部分数据就会浪费多余带宽

添加新评论