HTTP(四)

作者: _1633_ | 来源:发表于2020-12-30 23:42 被阅读0次

队头阻塞

     HTTP 规定报文必须是“一发一收”,这就形成了一个先进先出的“串行”队列。队列里的请求没有轻重缓急的优先级,只有入队的先后顺序,排在最前面的请求被最优先处理。

    如果队首的请求因为处理的太慢耽误了时间,那么队列里后面的所有请求也不得不跟着一起等待,结果就是其他的请求承担了不应有的时间成本。

队头阻塞

    因为“请求 - 应答”模型不能变,所以“队头阻塞”问题在HTTP/1.1 里无法解决,只能缓解,有什么办法呢?

    HTTP 里就是“并发连接”(concurrentconnections),也就是同时对一个域名发起多个长连接,用数量来解决质量的问题。

    HTTP 协议建议客户端使用并发,但不能“滥用”并发。RFC2616 里明确限制每个客户端最多并发 2 个连接。不过实践证明这个数字实在是太小了,众多浏览器都“无视”标准,把这个上限提高到了 6~8。

    但“并发连接”所压榨出的性能也跟不上高速发展的互联网无止境的需求,还有什么别的办法吗?

    就是“域名分片”(domain sharding)技术,还是用数量来解决质量的思路。

    HTTP 协议和浏览器不是限制并发连接数量吗?好,那我就多开几个域名,比如 shard1.chrono.com、shard2.chrono.com,而这些域名都指向同一台服务器www.chrono.com,这样实际长连接的数量就又上去了,真是“美滋滋”。不过实在是有点“上有政策,下有对策”的味道。

相关文章

  • HTTP(四)

    队头阻塞 HTTP 规定报文必须是“一发一收”,这就形成了一个先进先出的“串行”队列。队列里的请求没有轻重缓急...

  • HTTP (四.HTTP 状态码)

    状态码告知从服务器端返回的请求结果 1. 200 OK 表示从客户端发来的请求在服务器端被正常处理了。在响应报文内...

  • 四:http模块

    node的目的是为了给JavaScript写服务器。实现方式就是使用node自带的http模块 实现一个简单的服务...

  • HTTP协议(四)

    接下来继续介绍第四部分:HTTP的追加功能协议和WEB的攻击技术 一.基于HTTP的功能追加协议1.消除HTTP瓶...

  • http 四(DNS)

    DNS是域名到IP地址的映射,DNS解析请求是用的UDP,且明文 DNS解析查询方式 1.递归查询 2.迭代查询 ...

  • 《图解HTTP》- HTTP 首部 - 学习笔记(四)

    第6章 HTTP 首部 6.1 HTTP 报文首部 HTTP 请求报文在请求中,HTTP 报文由方法、URI、HT...

  • HTTP Method(四) GET

    今天聊的是HTTP Get 方法中是否可以通过body 传值的问题: 一个问题:定义了一个 http get 方法...

  • HTTP Method(四) DELET

    一般聊到 http 四大 method, get, post, put, delete 的时候,都习惯在使用get...

  • HTTP复习(四)——代理

    Web代理(proxy)服务器是网络的中间实体。代理位于客户端和服务器之间,扮演“中间人”的角色,在各端点之间来...

  • HTTP之四:HTTPS

    本文仅供笔者平日学习笔记之用,侵删原文:https://mp.weixin.qq.com/s/wZONAYSlku...

网友评论

      本文标题:HTTP(四)

      本文链接:https://www.haomeiwen.com/subject/gkukoktx.html