#http
4 keşif · Açık ağdan seçilmiş keşifler, en yeniden eskiye.
-
Go 1.28 HTTP/2 Parking: Measuring Memory Savings
I benchmarked Go 1.28 HTTP/2 parking with 5,000 idle connections. Across three runs, the same server binary used 85-93 MiB less RSS with parking enabled.
Articles on Mohammad Abdolirad · EN
-
gRPC开发过程中遇到的问题记录
最近我在改造手头负责的一个 HTTP Restful API 服务,集成对 gRPC 协议(在鹅厂叫 tRPC,是 gRPC 的本土衍生版本)的支持。由于是从 0 学习这个协议,因此也踩了不少坑,这里用一篇文章来记录下,希望可以帮助到同样从 0 学习 gRPC 的朋友。 列表参数赋值 老的 Rest 接口中,大量用到了列表参数,看了下 pb 协议,给这个参数定义如下: 1 2 3 message Foo { repeated string Bar = 1 ; } 在 Python RPC 客户端调用测试时,按照经验,传参如下: 1 2 req = pb . Foo () req . Bar = [ "a" , "b" ] 结果赋值就报错了: 1 AttributeError: Assignment not allowed to repeated field "Bar" in protocol message object. 经过一番搜索,最终发现 Python 客户端应该如下赋值列表参数: 1 2 3 req = pb . Foo () bar_list = [ "a" , "b" ] req . Bar . extend ( bar_list ) 这样就可以正常赋值了,但是总觉得这个设计太绕了,直接赋值不行么?总体来说,gRPC 还是偏编译型语言的设计的,在 Python 这种解
张戈博客 · ZH
-
Http和Https的区别
今天大家一起聚于会议室听一个同事的分享,中途需要联网的时候,网络状态良好竟不能访问该网址,那些年也是接触过网络的我看了下懵了,旁边一大牛瞬间即解决了(将地址前的Https改成Http,奇迹般地可以了),好生疑惑,下来一搜究竟,原始如此: Http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。 Https是HTTP运行在SSL/TLS之上(在HTTP(应用层) 和TCP(传输层)之间插入一个SSL/TLS协议),SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。
晚晴幽草轩 · ZH
-
Better HTTP/1 connection reuse
Go 1.27 includes a change to the HTTP client that can make programs sending many sequential HTTP/1 requests significantly faster.
Go Blog · EN