<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Http2 on krash.dev</title><link>https://krash.dev/tags/http2/</link><description>Recent content in Http2 on krash.dev</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 14 Aug 2026 08:29:09 +0530</lastBuildDate><atom:link href="https://krash.dev/tags/http2/rss.xml" rel="self" type="application/rss+xml"/><item><title>gRPC: We are not RESTing Anymore</title><link>https://krash.dev/posts/grpc-concepts/</link><pubDate>Sat, 02 Jul 2022 00:00:00 +0000</pubDate><guid>https://krash.dev/posts/grpc-concepts/</guid><description>&lt;p&gt;gRPC is a framework which is being used to build scalable and fast APIs. The framework from which it derives most of its positives is from the protocol it uses - HTTP/2. Apart from HTTP/2, it uses protocol buffer (protobuf) for the communication.&lt;/p&gt;
&lt;p&gt;gRPC can be useful in circumstances like -&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;large-scale microservices connections&lt;/li&gt;
&lt;li&gt;real-time communication&lt;/li&gt;
&lt;li&gt;Low power &amp;amp; low bandwidth systems&lt;/li&gt;
&lt;li&gt;Multi-language environments&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-should-we-care-lets-talk-benefits"&gt;Why Should We Care? Let&amp;rsquo;s talk Benefits&lt;a class="heading-anchor" href="#why-should-we-care-lets-talk-benefits" aria-label="Link to this section"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The use of HTTP/2 over the TLS end-to-end encryption connection in gRPC ensures API security.&lt;/li&gt;
&lt;li&gt;gRPC provides built-in support for commodity features, such as metadata exchange, encryption, authentication, deadline/timeouts and cancellations, interceptors, load balancing, service discovery, and so much more.&lt;/li&gt;
&lt;li&gt;The prime feature of gRPC methodology is the native code generation for client/server applications.&lt;/li&gt;
&lt;li&gt;gRPC tools and libraries are designed to work with multiple platforms and programming languages, including Java, JavaScript, Ruby, Python, Go, Dart, Objective-C, C#, and more.&lt;/li&gt;
&lt;li&gt;Parsing with Protobuf requires fewer CPU resources since data is converted into a binary format, and encoded messages are lighter in size. So, messages are exchanged faster, even in machines with a slower CPU, such as mobile devices.&lt;/li&gt;
&lt;li&gt;Request and Response Multiplexing - Multiple requests/response in one single connection.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="underlying-concepts"&gt;Underlying Concepts&lt;a class="heading-anchor" href="#underlying-concepts" aria-label="Link to this section"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="protocol-buffers"&gt;Protocol Buffers&lt;a class="heading-anchor" href="#protocol-buffers" aria-label="Link to this section"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;aka &lt;code&gt;protobuf&lt;/code&gt; . It&amp;rsquo;s Google&amp;rsquo;s serialization/deserialization protocol that enables easy definition of services and auto-generation of client libraries. It is an IDL (Interface Definition Language).&lt;/p&gt;</description></item></channel></rss>