作者: 栈长@蚂蚁金服巴斯光年安全实验室 ———————— 1. 背景 FFmpeg是一个著名的处理音视频的开源项目,非常多的播放器、转码器以及视频网站都用到了FFmpeg作为内核或者是处理流媒体的工具。2016年末pa…
标签:HTTP
gRPC客户端创建和调用原理解析
1. gRPC客户端创建流程 1.1. 背景 gRPC是在HTTP/2之上实现的RPC框架,HTTP/2是第7层(应用层)协议,它运行在TCP(第4层 – 传输层)协议之上,相比于传统的REST/JSON机制…
Principles of good RESTful API Design
UPDATE: This post has been expanded upon and published as a book.Good restful API design is hard! An API repre…
性能优化实战:百万级WebSockets和Go语言
09 Sep 2017, 15:10 文章 / 原文翻译 / Golang / Concurrency / Throughput / Performance /…
从输入 URL 到页面加载完成的过程中都发生了什么事情?
背景 本文来自于之前我发的一篇微博: 不过写这篇文章并不是为了帮大家准备面试,而是想借这道题来介绍计算机和互联网的基础知识,让读者了解它们之间是如何关联起来的。 为了便于理解,我将整个过程分为了六个问题来展开。 第一个问…
使用Node.js理解和测量Http时序
2017/09/13 September 13th, 2017 理解和测量HTTP时序帮助我们去发现客户端与服务器、服务器与服务器之间通信的性能瓶颈。本文阐述了在一次HTTP请求中的时序,并展示了如何在Node.js中进…
图解http(02)-http基础
1. http协议特性 无状态 http是一种不保存状态的协议,即服务器不对之前的请求和响应进行保存,这样设计是为了确保协议的可伸缩性,它可以快速大量地处理事务。 我们考虑这样一种情况,在购物网站请求数据,往往服务器要验…
图解http(03)-http首部
简介 我们知道http请求报文首部由请求行(方法、URI、http版本)及首部字段组成,响应报文首部由响应行(http版本、状态码、状态原因)及首部字段组成。 使用首部字段的目的是为了给浏览器和服务器提供报文主体的大小、…
Java中的纤程库 - Quasar
最近遇到的一个问题大概是微服务架构中经常会遇到的一个问题: 服务 A 是我们开发的系统,它的业务需要调用 B、C、D 等多个服务,这些服务是通过http的访问提供的。 问题是 B、C、D 这些服务都是第三方提供的,不能保…
http2概述及Java9对其的支持
HTTP/2概述 HTTP/2意在减轻为维护HTTP/1.1复杂的底层架构而带来的痛苦,以提高HTTP/1.1的性能。尽管HTTP/2仍然对HTTP/1.1向下兼容,但它已不再是一个基于文本的协议。当客户端通过HTTP/…
Java9新特性之HTTP2和REPL
对Java 9的炒作将不再局限于模块化(modularity),Java 9正在搜罗大量额外的功能模块,这些功能模块正作为Java增强提案(JEP)提交,并在OpenJDK (Java SE的参考实现项目)中实现。 在这…
GIF 简述及其在 QQ音乐的应用
一、 概述 GIF(Graphics Interchange Format)是CompuServe公司在1987年开发的图像文件格式,原义是图像互换格式。GIF是一种基于LZW算法的连续色调…