Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

Why Did Google Choose To Implement gRPC Using HTTP/2?

Background gRPC is an open-source high-performance RPC framework developed by Google. The design goal of gRPC is to run in any environment, supporting pluggable load balancing, tracing, health checking, and authentication. It not only…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Background



gRPC is an open-source high-performance RPC framework developed by Google. The design goal of gRPC is to run in any environment, supporting pluggable load balancing, tracing, health checking, and authentication. It not only supports service calls within and across data centers but is also suitable for the last mile of distributed computing, connecting devices, mobile applications, and browsers to backend services. For more on the motivation and principles behind gRPC's design, refer to this article: gRPC Motivation and Design Principles.




This article is first published in the medium MPP plan. If you are a medium user, please follow me in medium. Thank you very much.




Key points from the official article:




  • Internally, there is a framework called Stubby, but it is not based on any standard.

  • Supports use in any environment, including IoT, mobile, and browsers.

  • Supports streaming and flow control.



In reality, performance is not the primary goal of gRPC design. So why choose HTTP/2?






What is HTTP/2



Before discussing why gRPC chose HTTP/2, let's briefly understand HTTP/2.


HTTP/2 can be simply introduced with an image:


https://hpbn.co/



From: https://hpbn.co/




  • The header in HTTP/1 corresponds to the HEADERS frame in HTTP/2.

  • The payload in HTTP/1 corresponds to the DATA frame in HTTP/2.
    In the Chrome browser, open chrome://net-internals/#http2 to see information about HTTP/2 connections.
    chrome-http2



Many websites are already running on HTTP/2.





gRPC Over HTTP/2



Strictly speaking, gRPC is designed in layers, with the underlying layer supporting different protocols. Currently, gRPC supports:





However, most discussions are based on gRPC over HTTP2. Let's look at a real gRPC SayHello request and see how it is implemented over HTTP/2 using Wireshark:



wireshark-grpc



You can see the following headers:




Header: :authority: localhost:50051
Header: :path: /helloworld.Greeter/SayHello
Header: :method: POST
Header: :scheme: http
Header: content-type: application/grpc
Header: user-agent: grpc-java-netty/1.11.0






Then the request parameters are in the DATA frame:


GRPC Message: /helloworld.Greeter/SayHello, Request


In short, gRPC puts metadata in HTTP/2 Headers and serialized request parameters in the DATA frame.






Advantages of HTTP/2 Protocol






HTTP/2 is an Open Standard



Google thought this through and chose not to open-source its internal Stubby but to create something new. As technology becomes more open, the space for proprietary protocols is shrinking.






HTTP/2 is a Proven Standard



HTTP/2 was developed based on practical experience, which is crucial. Many unsuccessful standards were created by a group of vendors before implementation, leading to chaos and unusability, such as CORBA. HTTP/2's predecessor was Google's SPDY. Without Google's practice and promotion, HTTP/2 might not exist.






HTTP/2 Naturally Supports IoT, Mobile, and Browsers



In fact, mobile phones and mobile browsers were the first to adopt HTTP/2. The mobile internet has driven the development and adoption of HTTP/2.






Multi-language Implementation of HTTP/2 is Easy



Discussing only the implementation of the protocol itself, without considering serialization:




  • Every popular programming language has a mature HTTP/2 Client.

  • HTTP/2 Clients are well-tested and reliable.

  • Sending HTTP/2 requests with a Client is much easier than sending/receiving packets with sockets.






HTTP/2 Supports Stream and Flow Control



There are many streaming solutions in the industry, such as those based on WebSocket or rsocket. However, these solutions are not universal.


Streams in HTTP/2 can also be prioritized, which might be used in complex scenarios, although less frequently in RPC.






Easy Support for HTTP/2 in Gateway/Proxy








HTTP/2 Ensures Security




  • HTTP/2 naturally supports SSL, although gRPC can run on a clear text protocol (i.e., unencrypted).

  • Many proprietary RPC protocols might wrap a layer of TLS support, making it very complex to use. Do developers have enough security knowledge? Are users configuring it correctly? Can operators understand it correctly?

  • HTTP/2 ensures secure transmission over public networks. For example, the CRIME attack is hard to prevent in proprietary protocols.






Mature Authentication in HTTP/2




  • Authentication systems developed from HTTP/1 are mature and can be seamlessly used in HTTP/2.

  • End-to-end authentication from front-end to back-end without any conversion or adaptation.
    For example, traditional RPC like Dubbo requires writing a Dubbo filter and considering how to pass authentication-related information through thread local. The RPC protocol itself also needs to support it. In short, it's very complex. In fact, most RPCs in companies do not have authentication and can be called freely.






Disadvantages of HTTP/2 Protocol






Inefficient Transmission of RPC Metadata



Although HPAC can compress HTTP Headers, for RPC, determining a function call can be simplified to an int. Once negotiated between both ends, it can be directly looked up in a table, without the need for HPAC encoding and decoding.


Consider optimizing an HTTP/2 parser specifically for gRPC to reduce some general processing and improve performance.






gRPC Calls in HTTP/2 Require Two Decodings



One for the HEADERS frame and one for the DATA frame.



The HTTP/2 standard itself only allows one TCP connection, but in practice, gRPC may have multiple TCP connections, which needs attention during use.


Choosing HTTP/2 for gRPC means its performance won't be top-notch. But for RPC, moderate QPS is acceptable, and generality and compatibility are the most important. Refer to the official benchmark: https://grpc.io/docs/guides/benchmarking.html








Google's Standard-Setting Ability



In the past decade, Google's ability to set standards has grown stronger. Here are some standards:




  • HTTP/2

  • WebP image format

  • WebRTC for real-time communication

  • VP9/AV1 video encoding standards

  • Service Worker/PWA

  • QUIC/HTTP/3
    Of course, Google doesn't always succeed. Many initiatives it tried to push failed, such as Chrome's Native Client.



gRPC is currently the de facto standard in the Kubernetes ecosystem. Will gRPC become the RPC standard in more areas and larger fields?






Why gRPC Emerged



Why did an HTTP/2-based RPC emerge?



I believe an important reason is that in the trend of Cloud Native, the need for open interoperability inevitably leads to HTTP/2-based RPC. Even without gRPC, there would be other HTTP/2-based RPCs.



gRPC was first used internally at Google on Google Cloud Platform and public APIs: https://opensource.google.com/projects/grpc






Summary



Although gRPC may not replace internal RPC implementations, in an era of open interoperability, not just on Kubernetes, gRPC will have more and more stages to showcase its capabilities.






References



1. Sofort-Triage & Abwehrmaßnahmen

SOC Incident Playbook: Remote Code Execution (RCE) Defense
Syntax validiert (0 Fehler)
title: Detect Exploitation - Why Did Google Choose To Implement gRPC Using HTTP/2?
id: 572fba21-5c14-406d-8e85-632d55fd330c
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-27
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
Syntax validiert (0 Fehler)
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-27"
        description = "YARA Signature for "
    strings:
        $str = "Why Did Google Choose To Imple" ascii wide
    condition:
        any of them
}
Syntax validiert (0 Fehler)
index=security sourcetype IN ("cisco:asa", "pan:traffic", "zeek_conn", "suricata", "WinEventLog:Security")
("Why Did Google Choose To Implement gRPC ")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by src_ip, dest_ip, dest_host, signature
| eval first_seen=strftime(first_seen, "%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen, "%Y-%m-%d %H:%M:%S")
| sort - count
Syntax validiert (0 Fehler)
message: "*Why Did Google Choose To Implement gRPC *"
Syntax validiert (0 Fehler)
CommonSecurityLog
| where Message has "Why Did Google Choose To Implement gRPC "
| summarize EventCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP, DestinationIP, DestinationPort, Activity
| extend DetectionRule = "iShareStuff-CTI-Compiled"
| sort by EventCount desc

2. Cyber Threat Intelligence & Forensik

CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
🎯
MITRE ATT&CK Matrix Navigator 14 Taktiken
Reconnaissance
-
Resource Development
-
Initial Access
Execution
Persistence
-
Privilege Escalation
Defense Evasion
Credential Access
-
Discovery
-
Lateral Movement
-
Collection
-
Command and Control
Exfiltration
-
Impact
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Analyse für identifizierte Bedrohung auf Basis von Live-CTI (ENISA EUVD): CVSS 0.0 · EPSS 0.0% · CISA KEV: nein. Handlungsableitung aus den verlinkten Hersteller-Quellen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

⚡ Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Why Did Google Choose To Implement gRPC Using HTTP/2?

Thematisch verwandte Begriffe: Google, Choose, Implement, gRPC · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-100739 | A vulnerability was detected in mathurvishal CloudClassroom-PHP-Project…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag