Wireshark Case Study (25): The ‘Multiplexing’ of HTTP/2

Wireshark Case Study (25): The 'Multiplexing' of HTTP/2

Introduction This article continues the “Wireshark Practical Case Study” series, delving into an “epoch-making” “efficiency revolution” in the world of web performance. It concerns the “loading speed” of every modern website you open, the fundamental transformation in the “dialogue” between “browsers” and “servers”, and a great “traffic” revolution initiated to end the “old” and “inefficient” … Read more

Daily Insight | The Evolution of the HTTP Protocol

Daily Insight | The Evolution of the HTTP Protocol

Hello everyone, this is the Programming Cookbook. Today’s Daily Insight is about computer networking knowledge: the evolution of the HTTP protocol. Table of Contents HTTP/1.1 What is Pipelining? HTTP 2.0 1. Binary Framing 2. Multiplexing 3. Header Compression 4. Server Push 5. Prioritization and Flow Control HTTP 3.0 1. QUIC Protocol based on UDP 2. … Read more

Stop Using the Antiquated HTTP/1, Upgrade to HTTP/2 with These Two Steps

Stop Using the Antiquated HTTP/1, Upgrade to HTTP/2 with These Two Steps

Recently, while analyzing SSE technology, I briefly mentioned HTTP/2, as the HTTP/1.x protocol has long been considered an “antique”. Reasons for Upgrade Upgrading from HTTP/1.x to HTTP/2 can bring various performance improvements and optimizations: Multiplexing In HTTP/1.x, each TCP connection can only handle one request or response, leading to the so-called head-of-line blocking issue. In … Read more

GoLang HTTP Header Case Sensitivity Issues

GoLang HTTP Header Case Sensitivity Issues

Introduction Today, while using the http package in GoLang, I found that the case of the headers I set did not match what I passed in. Standards The HTTP standard states that HTTP headers are case insensitive. GoLang HTTP GoLang normalizes headers when setting them, capitalizing the first letter and the first letter after a … Read more

What are the Differences Between HTTP/1.0 and HTTP/2.0?

What are the Differences Between HTTP/1.0 and HTTP/2.0?

What are the Differences Between HTTP/1.0 and HTTP/2.0? Key Points This analysis focuses on the differences between the two protocols from the perspectives of connection methods, data transmission formats, and header compression. Connection Methods HTTP/1.0 Short Connections: Each request requires a separate TCP connection, which is closed immediately after the request is completed. Head-of-Line Blocking: … Read more

Understanding HTTP/2 and Practical Implementation in Go

Understanding HTTP/2 and Practical Implementation in Go

After understanding the content of the previous article on net/rpc (From net/rpc in Go applications to gRPC), it is now time to delve into HTTP/2, which is the foundation of the gRPC protocol. A Guide to the Principles of HTTP/2 and Practical Implementation in Go This article focuses on theoretical explanations, and the content will … Read more