阅读理解:HTTP/2 push is tougher than I thought

阅读理解:HTTP/2 push is tougher than I thought

  • HTTP/2 push 比我想象中的更麻烦
    • 多浏览器测试
    • push cache 仅在 http 连接关闭前有效
    • 多个页面可以使用同个 http push
    • non credentials 请求会建立独立的连接
    • push cache 中的资源仅被使用一次
    • push cache 中的资源应当基于 http 语义进行匹配
    • 你可以对其他域进行资源的push
  • 总结

先贴原文地址:HTTP/2 push is tougher than I thought
本文是一篇关于 HTTP/2 push 文章的阅读理解,并不是译文因为懒得做全文翻译,大概概括了中心思想。由于文章原文写于2017年5月份,据本篇博客已经过去了一年半时间,时效性已经不强,在这里仅仅做一个记录,以免它在我笔记本里头腐烂。

HTTP/2 push 比我想象中的更麻烦

万事先上图://这个长条的图。。。看起来真不方便
阅读理解:HTTP/2 push is tougher than I thought_第1张图片
以上是包含了 Service Worker 和一系列 cache 策略的整体请求流程。

传统的 Web 请求与解析的过程一般是这样的:

  1. 请求并接收 index.html
  2. parse html 文件,发现有一大票的依赖,包含 stylesheet、js file、image 等等
  3. 对依赖文件发送请求,并苦苦等待
  4. 获取所有依赖,完成 parse 过程

(理想中的) HTTP push 可以很好的解决这一问题:

  1. 请求 index.html 并从服务器接收 index.html 并附带上了一大堆不知道干什么用的文件
  2. parse html 文件并惊喜的发现需要的依赖都已经包含在那一堆杂物里头了
  3. 完成 parse 过程
  4. 喝杯茶并嘲讽还在用 http 1.x 的垃圾

但是理想终归是理想,现实中 HTTP/2 push 是否真如此美好呢?

多浏览器测试

实际在多浏览器的测试中(chrome、safari、firefox、edge),针对于不同的请求,包括:

  • fetch()
  • XMLHttpRequest

你可能感兴趣的:(计算机网络)