HTTP1.0
Http1.0 是最早的版本,它使用短链接,每次请求都需等待服务器响应后关闭连接。
它最早被使用在1996年的网页,开始人们只使用一些简单的 web 页和网络请求上,在1999年时广泛使用Http1.1
Http1.0 的缺点:
- 短链接:http1.0 使用的是短链接方式,每个请求都必须建立连接和断开连接,每个连接都需要经过 TCP 连接过程(三次握手四次挥手的过程)
- 不支持复用header头,每次请求都需要发送完整的请求头信息
- 不支持对数据进行二进制分帧传输(?)
- 通过 expires 头来表示资源的过期时间,缺点 如果服务器和客户端的时间不一致,缓存可能会出现问题。
- http1.1 没有提供对缓存的有效性验证,每次都需要重新下载整个资源,没有办法优化带宽利用。
- 不支持加密,所有数据传输都是明文传输,存在安全风险,需要额外使用安全协议(https 来对 http进行数据加密和身份校验)
HTTP1.1
在Http1.0 每次连接都需要建立完成的 TCP 连接,所以在 1999年时开始广泛使用Http1.1。
它们的主要区别在:
- 针对http1.0的短链接,http1.1 引入 keep-alive 支持长连接,允许在单个连接上建立多次请求和相应
- http1.1 引入了更复杂的缓存机制,使用了更多的缓存控制头,如:Cache-Control 头、ETag 和 Last-Modified 头