QUIC

万字长文教你看懂 HTTP/3

戏子无情 提交于 2021-02-17 21:58:35
知道的越多,不知道的就越多,业余的像一棵小草! 编辑: 业余草 来源: https://www.xttblog.com/?p=5011 2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。 1. HTTP/3 原理 1.1 HTTP 历史 在介绍 HTTP/3 之前,我们先简单看下 HTTP 的历史,了解下 HTTP/3 出现的背景。 随着网络技术的发展,1999 年设计的 HTTP/1.1 已经不能满足需求,所以 Google 在 2009 年设计了基于 TCP 的 SPDY,后来 SPDY 的开发组推动 SPDY 成为正式标准,不过最终没能通过。不过 SPDY 的开发组全程参与了 HTTP/2 的制定过程,参考了 SPDY 的很多设计,所以我们一般认为 SPDY 就是 HTTP/2 的前身。无论 SPDY 还是 HTTP/2,都是基于 TCP 的,TCP 与 UDP 相比效率上存在天然的劣势,所以 2013 年 Google 开发了基于 UDP 的名为 QUIC 的传输层协议,QUIC 全称 Quick UDP Internet

WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba

谁说胖子不能爱 提交于 2021-01-19 08:39:49
WebRTC 无疑推动和改变了互联网视频,而这仅仅是刚刚开始,除了大家熟悉的 WebRTC-PC、Simulcast 和 SVC,有太多的新技术和新架构出现在 WebRTC 新的标准中,比如 WebTransport、WebCodecs、AV1、E2EE、SFrame、ML 等等,这篇文章详细介绍了未来的 WebRTC-NV,不容错过。 说明: 本文为阿里云视频云翻译的技术文章 原文标题:WebRTC Today & Tomorrow: Interview with W3C WebRTC Chair Bernard Aboba 原文链接: https://webrtchacks.com/webrtc-today-tomorrow-bernard-aboba-qa/ 作者:乍得・哈特(Chad Hart) 翻译:忘篱、致凡、开视、仲才、海华 Bernard 是一直聚焦在 RTC 领域的专家,W3C WebRTC 联席 Chair,WEBTRANS 和 AVTCORE 的联席 Chair,ORTC、WebRTC-SVC、WebRTC-NV 用例、WebRTC-ICE、WebTransport 和 WebRTC-QUIC 等文档的主编,微软 Teams 媒体组的首席架构师。 WebRTC 标准现状 作为 W3C WebRTC 工作组 的 Chair 之一,Bernard 是 WebRTC

这样理解 HTTP,面试再也不用慌了~

∥☆過路亽.° 提交于 2021-01-15 06:58:04
点击上方 " 程序员小乐 "关注, 星标或置顶一起成长 后台回复“ 大礼包 ”有惊喜礼包! 关注订阅号「 程序员小乐 」,收看更多精彩内容 每日英文 When you fall down, you just gotta get back up and keep on going. There’s no sense in just sitting there. 跌倒了,就重新站起来,继续向前走;傻坐在地上是没用的。 每日掏心话 人生,需要有一些时刻,慢下来,静下来,听一听花开的声音,看一看叶子舒卷的曼妙。不要以为你放不下的人,同样会放不下你,鱼没有水会死,水没有鱼却会更清澈。 来 自 :高效运维 | 责编:乐乐 程序员小乐(ID:study_tech) 第 1089 次推文 往日回顾: Eclipse 官宣,干掉 VS Code ! 正文 1 HTTP HTTP 协议是个无状态协议,不会保存状态。 2 Post 和 Get 的区别 先引入副作用和幂等的概念。 副作用指对服务器上的资源做改变,搜索是无副作用的,注册是副作用的。 幂等指发送 M 和 N 次请求(两者不相同且都大于 1),服务器上资源的状态一致,比如注册 10 个和 11 个帐号是不幂等的,对文章进行更改 10 次和 11 次是幂等的。 在规范的应用场景上说,Get 多用于无副作用,幂等的场景,例如搜索关键字。Post

Envoy 和 Istio 的 6.18

假装没事ソ 提交于 2021-01-10 12:49:46
地球对面的时间比我们这里晚一点,我们的 618 已经开始返场了,他们还在 618。 服务网格方面,在这一天有了两个发布: Envoy 发布了移动版 Istio 发布了 1.2 Envoy Mobile Envoy Mobile 是一个库,目的是可以直接将 Envoy 的功能封装到移动应用之中, 跨平台的底层网络支持:HTTP/2、QUIC、gRPC、推送、流、重试和超时策略等底层网络技术的实现以及跨平台都是需要付出大量努力来完成的事情,Evnoy Mobile 试图在客户端以一致的跨平台的方式提供这所有功能。 xDS 支持:Envoy 的最深套路就是 xDS 了,Envoy 一旦潜入移动应用,就可以通过 xDS 的方式,在服务端对客户端的网络行为作出控制。 API 的高级支持:用注解方式为 API 提供缓存、优先级等支持 这个项目还非常早期,但是我觉得非常有意思,强悍的 Envoy 用这种方式为移动应用提供了一个可控的网络抽象的能力,目前已经提供了 Java、Swift、OC 等支持,这会不会成为一种新的边缘能力? Istio 1.2 补丁版本,没啥好说。 参考链接 https://docs.google.com/document/d/1N0ZFJktK8m01uqqgfDRVB9mpC1iEn9dqkQaa_yMn_kE/edit# https://istio.io/about

Linux内存、Swap、Cache、Buffer详细解析

旧巷老猫 提交于 2021-01-08 07:51:32
作者:CircleBlog 链接:https://my.oschina.net/circleblog/blog/715711 1. 通过free命令看Linux内存 total:总内存大小。 used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。 free:空闲的内存大小。 shared:进程间共享内存(一般不会用,可以忽略)。 buffers:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。 cached:内存中读完缓存起来内容占的大小(这部分是为了下次查询时快速返回)。 -/+ buffers/cache看做两部分: -buffers/cache:正在使用的内存大小(注意不是used部分,因为buffers和cached并不是正在使用的,组织和人民需要是它们是可以释放的),其值=used-buffers-cached。 +buffers/cache:可用的内存大小(同理也不是free表示的部分),其值=free+buffers+cached。 Swap:硬盘上交换分区的使用大小。 设计的目的就是当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。 2. Buffer和Cache介绍 Cache(缓存)

HMS Core网络加速套件:hQUIC Kit为应用快速建立网络连接

烈酒焚心 提交于 2020-12-24 07:49:38
影响用户放弃打开应用的原因有很多,比如浏览网页时网络条件不佳;玩游戏时出现令人奔溃的卡顿;或者是应用首次使用或升级,需要加载大量的资源文件,出现令人不悦的等待…… 研究表明,加载时间超过2秒的延迟导致高达87%的人放弃了游戏,81%的互联网使用者在应用视频不能即点即看的情况下关闭了页面——卡顿虽小,却招招致命! 华为基于多年对网络的理解,推出HMS Core网络加速套件——hQUIC Kit,让开发者的应用快速支持QUIC协议,辅以华为智能拥塞算法,为用户提供更快的连接建立速度,更强的抗丢包能力以及更高的吞吐量,专治网络卡顿应用。 hQUIC的应用场景 以HTTP协议为基础的应用都可以轻松使用hQUiC Kit提升资源加载速度。华为识别了用户最容易受网络影响的四个场景——游戏、视频通话、在线TV/VOD、VR实时广播作为应用案例,希望帮助开发者尽可能为用户带来更加高效流畅的数字体验。 hQUIC的核心优势 为了方便开发者快速接入,享受QUIC协议带来的传输优势,hQUIC提供简单易用的编程接口,屏蔽网络细节,让开发者30分钟即可快速接入;同时,提供网络加速服务,帮助弱网环境用户体验提升,实现移动网络与Wi-Fi之间的无感知切换;并且全面兼容,支持gQUIC、iQUIC协议(后续版本支持)和cronet接口。 数字生活已然成为大势,越来越流畅的网络体验则更是科技发展的重要方向

HMS Core网络加速套件:hQUIC Kit为应用快速建立网络连接

做~自己de王妃 提交于 2020-12-23 18:40:23
影响用户放弃打开应用的原因有很多,比如浏览网页时网络条件不佳;玩游戏时出现令人奔溃的卡顿;或者是应用首次使用或升级,需要加载大量的资源文件,出现令人不悦的等待…… 研究表明,加载时间超过2秒的延迟导致高达87%的人放弃了游戏,81%的互联网使用者在应用视频不能即点即看的情况下关闭了页面——卡顿虽小,却招招致命! 华为基于多年对网络的理解,推出HMS Core网络加速套件——hQUIC Kit,让开发者的应用快速支持QUIC协议,辅以华为智能拥塞算法,为用户提供更快的连接建立速度,更强的抗丢包能力以及更高的吞吐量,专治网络卡顿应用。 hQUIC的应用场景 以HTTP协议为基础的应用都可以轻松使用hQUiC Kit提升资源加载速度。华为识别了用户最容易受网络影响的四个场景——游戏、视频通话、在线TV/VOD、VR实时广播作为应用案例,希望帮助开发者尽可能为用户带来更加高效流畅的数字体验。 hQUIC的核心优势 为了方便开发者快速接入,享受QUIC协议带来的传输优势,hQUIC提供简单易用的编程接口,屏蔽网络细节,让开发者30分钟即可快速接入;同时,提供网络加速服务,帮助弱网环境用户体验提升,实现移动网络与Wi-Fi之间的无感知切换;并且全面兼容,支持gQUIC、iQUIC协议(后续版本支持)和cronet接口。 数字生活已然成为大势,越来越流畅的网络体验则更是科技发展的重要方向

QUIC Weekly 每周一草(20201209期)

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-14 16:56:46
关于QUIC协议的论文、IETF进展、博客、视频等等 QUIC 的全称是 Quick UDP Internet Connections protocol, 由 Google 设计提出,目前由 IETF 工作组推动进展。其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(Edge Computing)场景也一直在打造底层基于 QUIC 通讯协议的低时延边缘计算框架 YoMo ,长时间关注 QUIC 协议的发展,遂整理该文集并配以适当的中文翻译,方便更多关注 QUIC 协议的人学习。 在线社区:🍖 discord/quic 维护者:🦖 YoMo QUIC Weekly - 20201209期 Wireshark v3.4.1 发布, 增加了很多与 QUIC 相关的更新 📢 draft-ietf-quic-manageability 讨论了 QUIC 传输协议的可管理性,重点讨论影响 QUIC 流量的网络操作的注意事项,比如,要实现 QUIC 的负载均衡,建议参考该文 📢 Applicability of the QUIC Transport Protocol 讨论了QUIC传输协议的适用性,重点讨论了影响通过QUIC开发和部署应用协议的注意事项,比如,实现0-RTT的过程中要注意的安全问题 w3c WebTransport

关于队头阻塞(Head-of-Line blocking),看这一篇就足够了

ぐ巨炮叔叔 提交于 2020-12-10 00:12:14
(译)Robin Marx: QUIC 和 HTTP/3 队头阻塞的细节 作者: Robin Marx ,原文: Head-of-Line Blocking in QUIC and HTTP/3: The Details ,GitHub: https://github.com/rmarx/holblocking-blogpost 您可能已经听说,经过4年的工作,新的 HTTP/3 和 QUIC 协议终于接近正式标准化。预览版现在可以在 服务器和浏览器中进行测试 。 与 HTTP/2 相比,HTTP/3 有很大的性能改进,这主要是因为它将 底层传输协议从 TCP 改为基于 UDP 的 QUIC 。在这篇文章中,我们将深入了解其中的一项改进,即消除 “队头阻塞”(Head-of-Line blocking, 简写:HOL blocking) 问题。这很有用,因为我读过很多关于这实际上意味着什么以及它在现实中有多大帮助的误解。解决队头阻塞也是 HTTP/3 和 QUIC 以及 HTTP/2 背后的主要动机之一,因此它也为协议演进的原因提供了一个极好的视角。 我将首先介绍队头阻塞问题,然后在整个 HTTP 历史中跟踪它的不同形式。我们还将研究它如何与其他系统交互,如优先级和拥塞控制。我们的目标是帮助人们对 HTTP/3 的性能改进做出正确的判断,而这(剧透)可能不像 营销材料

CoNEXT 2018:在Facebook上部署IETF QUIC

瘦欲@ 提交于 2020-12-04 02:28:02
在12月初举行的CoNEXT 2018 EPIQ研讨会上来自Facebook的Subodh Iyengar详细介绍了Facebook如何在其基础设施中使用IETF-QUIC,并且通过Android和iOS设备上的Facebook应用程序在移动客户端上进行实验。本文来自QUIC-Tracker的博客,LiveVideoStack进行了翻译。 文 / QUIC-Tracker 译/ 元宝 原文 https://quic-tracker.info.ucl.ac.be/blog/epiq-2018/2018/12/10/epiq-2018-keynote-facebook.html 在12月的第一周,第一届QUIC的演变,性能和互操作性研讨会在克里特岛Heraklion的CoNEXT 2018上举行。我们展示了我们的论文,观察了QUIC实现的演变,并与参加研讨会的研究人员和工程师进行了讨论。在这一系列的博客文章中,我们报告了研讨会每个会议的摘要以及我们做的一些笔记。 主题演讲:大规模快速移动 在Facebook上部署IETF QUIC的经验(Subodh Iyengar - Facebook) 经过两位主持人约尔格·奥特(Jorg Ott,慕尼黑TU)和拉尔斯·埃格特(Lars Eggert, NetApp)简短的介绍,当天的第一位主讲人是来自Facebook的Subodh Iyengar