HTTP

# HTTP

# HTTP 特点

  1. 灵活可扩展
  • 语义上的自由:只规定了基本格式,比如空格分隔单词,换行分隔字段,其他的各部分没有严格的语法限制
  • 传输形式的多样性:可传输文本、图片、视频等
  1. 可靠传输
  • HTTP 基于 TCP/IP,因此把这一特性继承了下来
  1. 请求-应答
  2. 无状态

# HTTP 状态码

# HTTPS

  1. 为什么有了 HTTP 还要 HTTPS?

因为 http 协议的数据都是明文进行传输的,所以对于一些敏感信息的传输就很不安全,https 就是为了解决 http 的不安全而生的。

  1. HTTPS 是如何保证安全的?

对称加密:即通信的双方都使用同一个秘钥进行加解密,比如特务接头的暗号,就属于对称加密。

优点:简单、速度快、性能好 缺点:容易被黑客拦截

非对称加密:公钥 + 私钥 = 秘钥对,用私钥加密的数据只有对应的公钥才能解密,用公钥加密的数据只有对应的私钥才能解密,在通信之前都会把自己的公钥给对方,然后对方再拿着这个公钥来加密数据响应给对方,等到到了对方那里,对方再用自己的私钥进行解密。

优点:安全性高 缺点:速度慢、性能较差

结合两种加密方式,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方就可以使用对称加密来进行沟通。

  1. HTTP 的 keep-alive 是干什么的?

在 http 请求头中加入 Connection: keep-alive 来告诉对方这个请求响应完成后不要关闭,下一次咱们还用这个请求继续交流。

keep-alive 的优点:

  • 较少的 CPU 和内存的使用(由于同时打开的连接的减少了)
  • 允许请求和应答的 HTTP 管线化
  • 降低拥塞控制( TCP 连接减少了)
  • 减少了后续请求的延迟(无需再进行握手)
  • 报告错误无需关闭 TCP 连接
LOSER
米津玄師