2.HTTP1.1的优点、性能

1. HTTP(1.1)的优点有哪些,怎么体现的?

HTTP最凸出的优点是「简单、灵活和易于扩展、应⽤⼴泛 和跨平台」。

1.1 简单 HTTP基本的报⽂格式就是header+body,头部信息也是 key-value简单⽂本的形式,易于理解,降低了学习和使⽤ 的⻔槛。

1.2 灵活和易于扩展 HTTP协议⾥的各类请求⽅法、URI/URL、状态码、头字段等 每个组成要求都没有被固定死,都允许开发⼈员⾃定义和扩 充。

2. HTTP的缺点呢?

HTTP协议⾥有优缺点⼀体的双刃剑,分别是「⽆状态、明⽂传输」,同时还 有⼀⼤缺点「不安全」

⽆状态双刃剑:

优点:因为服务器不会去记忆HTTP的状态,所以不需要额外的资源 来记录状态信息,这能减轻服务器的负担,能够把更多的CPU和内存⽤来对 外提供服务。

缺点:既然服务器没有记忆能⼒,它在完成有关联性的操作时会⾮常 麻烦。

3. HTTP/1.1 的性能如何?

HTTP协议是基于TCP/IP,并且使⽤了「请求-应答」的通信模式,所以性 能的关键就在这两点⾥。

早期HTTP/1.0性能上的⼀个很⼤的问题,那就是每发起⼀个请求,都要新建 ⼀次TCP连接(三次握⼿),⽽且是串⾏请求,做了⽆谓的TCP连接建⽴和 断开,增加了通信开销。

3.1长连接

为了解决上述TCP连接问题,HTTP/1.1提出了⻓连接的通信⽅式,也叫持久连接。这种⽅式的好处在于减少了TCP连接的重复建⽴和断开所造成的额外开 销,减轻了服务器端的负载。

持久连接的特点:只要任意⼀端没有明确提出断开连接,则保持TCP连接 状态。

3.2 管道⽹络传输

即可在同⼀个 TCP 连接⾥⾯,客户端可以发起多个请求,只要第⼀个请求发出去了,不必等其回来,就可以发第⼆个请求出去,可以减少整体的响应时间。

举例来说,客户端需要请求两个资源。以前的做法是,在同⼀个TCP连接⾥⾯,先发送 A 请求,然后等待服务器做出回应,收到后再发出 B 请求。管道机制则是允许浏览器同时发出 A 请求和 B 请求。

但是服务器还是按照顺序,先回应 A 请求,完成后再回应 B 请求。要是前⾯的回应特别慢,后⾯就会有许多请求排队等着。这称为「队头堵塞」

3.3 问题: 队头阻塞

因为当顺序发送的请求序列中的⼀个请求因为某种原因被阻塞时,在后⾯排队的所有请求也⼀同被阻塞了,会招致客户端⼀直请求不到数据,这也就是「队头阻塞」。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值