HTTP/2
What makes gRPC Efficient
gRPC menggunakan HTTP/2 sebagai Transfer Protocol, maka dari itu gRPC mewarisi berbagai fitur dari HTTP/2
Binary framing
more performant and robust ( lebih cepat dan konsisten )
Lighter to transport, safer to decode ( ringan dan aman )
Great combination with Protocol Buffer
Header compression dengan HPACK
Mengurangi overhead dan meningkatkan performa
Multiplexing
Mengirim multiple request dan response secara pararel dalam satu TCP connection
Mengurangi latency dan memperkuat network utilization
Server push
One client request, multiple responses
Mengurangi round-trip latency
Demo: http://www.http2demo.io/

How HTTP/2 Works under the Hood
Satu TCP connection membawa multiple bidirectional streams
Setiap streams mempunyai unique ID dan membawa multiple bidirectinal messages
Setiap message ( request / response ) dibagi ke beberapa binary frames
Frame adalah unit terkecil yang membawa data : HEADERS, SETTINGS, PRIORITY, DATA, etc.

Frames dari stream yang berbeda akan di interleaved dan di reassemble di sisi lain

HTTP/2 vs HTTP/1.1
Pertama, HTTP/2 adalah binary protocol, sedangkan HTTP/1.1 adalah text protocol.
Headers di compress di HTTP/2, sedangkan berupa plain text di HTTP/1.1
HTTP/2 mengizinkan multiplexing, HTTP/1.1 tidak
Kita dapat mengirim multiple requests and responses dalam satu connection di HTTP/2, sedangkan di HTTP/1.1 kita hanya dapat mengirim satu, yang mana kita harus membuat multiple TCP connections untuk mengirim multiple requests.
Server-push is possible with HTTP/2, but tidak di HTTP/1.1
HTTP/2 diluncurkan pada 2015, sedangkan HTTP/1.1 diluncurkan pada 1997.

Last updated
Was this helpful?