posted @ 2015-06-18 18:34 蝈蝈俊 阅读(2322) 评论(0) 推荐(0) 编辑
摘要:
在 HTTP2 协议正式开始工作前, 如果已经知道服务器是 HTTP2 的服务器, 通讯流程如下: 客户端必须首先发送一个连接序言,其逻辑结构: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n // 纯字符串表示,翻译成字节数为24个字节 SETTINGS帧 // 其负载可能为空 发送完毕... 阅读全文
摘要:
HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。如何理解 HPACK 压缩呢? 如果我们约定将常用的请求头的参数用一些特殊的编号来表示,比如 GET /index.html 用一个 1 来表示,POST /index.html 用 2 来表示。那么是不是可以节省很多字节? 为 HTTP/2 的专门量身打造的 HPACK 便是类似这样的思路延伸。它使... 阅读全文
posted @ 2015-06-18 17:29 蝈蝈俊 阅读(3260) 评论(0) 推荐(2) 编辑
摘要:
HTTP2于2015年2月28日正式通过IETF组织批准发布,正式定稿。有关它的内容可以参考: HTTP2 概述 http://www.cnblogs.com/ghj1976/p/4552583.html 。 在HTTP2 的网络通讯中, Frame 是 通讯中的最小传输单位,至少含有一个 Frame header,能够表示它属于哪一个 Stream。一个具体的请求类似如下: ... 阅读全文
posted @ 2015-06-16 17:46 蝈蝈俊 阅读(11375) 评论(0) 推荐(1) 编辑
摘要:
扩充巴科斯-瑙尔范式(ABNF)是一种基于巴科斯-瑙尔范式(BNF)的元语言,但它有自己的语法和派生规则。ABNF的原动原则是描述一种作为双向通信协议的语言。 ABNF是由第68号互联网标准("STD 68",大小写样式按照原文)定义的,也就是 RFC 5234,经常用于互联网工程任务组(IETF)通信协议的定义语言。RFC 5234 取代了 RFC 4234(取代了 RFC 2234 http... 阅读全文
posted @ 2015-06-16 14:01 蝈蝈俊 阅读(1455) 评论(0) 推荐(0) 编辑
摘要:
gRPC将是未来google所有客户端的库标准(DevoxxFR), 这句话的出处: https://twitter.com/chanezon/status/585724143003402240 已经实现好的 Google APIs 可以在这里看到: https://github.com/google/googleapis 其中用到的 protobuf 3 虽然正式... 阅读全文
posted @ 2015-06-12 16:32 蝈蝈俊 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:
本文的例子代码在: https://github.com/grpc/grpc-go/tree/master/examples/route_guide 功能就类似目前LBS一样,在每个位置上报一些文字信息, 上报方式有多种。 在 .proto 文件中定义服务 在 .proto 文件中定义一个服务很简单, 就像如下的代码: service RouteGuide { ... }... 阅读全文
posted @ 2015-06-11 16:19 蝈蝈俊 阅读(5604) 评论(0) 推荐(0) 编辑
摘要:
定义 Message 类型, 例子如下:syntax = "proto3";message SearchRequest { string query = 1; int32 page_number = 2; // Which page number do we want? int32 ... 阅读全文
posted @ 2015-06-10 13:52 蝈蝈俊 阅读(3085) 评论(0) 推荐(0) 编辑
摘要:
本篇文章主要解决mac下安装ProtoBuffer,编译go版本gRPC用的.proto文件 安装 protoc 注意,gRPC 需要用到 proto3, 而目前 Release 的版本是 2.6.1, 所以我们需要去下载源码并编译。 https://developers.google.com/pr 阅读全文
posted @ 2015-06-09 17:33 蝈蝈俊 阅读(3943) 评论(0) 推荐(0) 编辑