计算机网络面试题(十六):HTTP1.0/1.1/2.0版本了解不?

计算机网络面试题(十六):HTTP1.0/1.1/2.0版本了解不?
计算机网络面试题(十六):HTTP1.0/1.1/2.0版本了解不?

文章目录

HTTP1.0

HTTP1.0是1996年引入的

  • HTTP1.0仅提供了最基本的认证,用户名和密码都未加密
  • HTTP1.0仅支持短连接,每次发送数据都会经过TCP三次握手和四次挥手,效率低
  • HTTP1.0只使用了headerif=modified-SinceExpires作为缓存失效的标准
  • HTTP1.0不支持端点续传,每次发送数据都会发送全部数据
  • HTTP1.0认为每台计算机都只能绑定一个IP地址,不支持虚拟网络

HTTP1.1

HTTP1.1是1999年引入的

  • HTTP1.1使用了摘要算法进行身份验证
  • HTTP1.1默认使用长连接

只需要建立一次连接,可以传输多次数据,传输完成之后,只需要一次切断即可。通过请求头的keep-alive设置

  • HTTP1.1支持端点续传

通过请求头的Range实现

  • HTTP1.1使用了虚拟网络

在一台物理服务器上可以存在多个虚拟主机,共享一个IP地址


HTTP2.0

2015年建立

  • 头部压缩:利用HPACK算法进行压缩

由于HTTP1.1头部经常出现Cookie、Accept、Sever、Range等字段可能会占用几百到几千字节,而body有时只有几十字节(“头重身轻”)

  • 二进制格式:HTTP2.0选择了更靠近TCP/IP的二进制格式,抛弃了ASCII码,提高了解析效率

  • 强化安全:HTTP2.0一般都跑在HTTPS上

  • 多路复用:一个连接上可以有多个请求