⦁ http2: 解决http1性能问题
,兼容http1.1 例如HTTP METHOD、Status code uri以及大部分的Header filds
HTTP/2支持HTTP/1.1的所有核心功能,但旨在以多种方式提高效率。
⦁ http2与http1x的区别:
⦁ (1)http2可以通过一个tcp连接多路复用
⦁ (2)可以开启server push模式,对于一个html页面上的css等不用客户端再次请求,直接在一个请求中将这些全都返回给client
⦁ (3)头部压缩,http1只能对内容进行压缩
⦁ (4)二进制消息帧高效处理消息
⦁ (5)“流”是在HTTP/2连接中在客户端和服务器之间交换的独立双向帧序列。双工通道
⦁ 协议内容:https://blog.csdn.net/u010129119/article/details/79361949
Protobuf 足够简单 体积小 解析快 多语言 类json或xml,语言无关
通过Protobuf定义的message结构进行打包,编译成二进制流
与java代码入门 :
https://www.cnblogs.com/ziyue7575/p/11593374.html已经下载
protobuf协议规则:
https://developers.google.cn/protocol-buffers/docs/proto3
proto文件生成java
.proto文件放/main/proto文件夹下,然后添加maven-plugin
编辑.proto文件,然后点击右侧maven的plugin中的protobuf中的compile即可
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.6.2</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.17.3:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.41.0:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
编译后在generated-source中找到