Reputation: 137910
HTTP headers aren't very efficient. Dozens of bytes more than necessary are used between the minimal method and response headers.
Has there been any proposal to standardize a binary or compressed format for HTTP?
Is there a similar standard besides HTTP which is better suited to interactive mobile applications?
Upvotes: 9
Views: 11073
Reputation: 4823
This is an old question and I think it needs an update. Although I have no deeper understanding of this topic myself I stumbled over this very good article which explains the HPACK compression of HTTP/2.
In short it says:
Upvotes: 5
Reputation: 137910
HTTP/2.0, currently in a drafting phase, is an evolution of SPDY designed to address these issues.
Specifically, it replaces the request lines and headers with a compact binary format. It adds a server push facility and multiplexes streams over a single connection, to avoid the overhead of multiple connections and head-of-queue blocking. There are various other goodies.
I am working on a lightweight/cut-to-fit C++ implementation.
Upvotes: 6
Reputation: 8942
As referenced in Stackoverflow - How to compress HTTP response headers?:
See Google's SPDY research project: Google's SPDY research project
From SPDY whitepaper:
The role of header compression
Header compression resulted in an ~88% reduction in the size of request headers and an ~85% reduction in the size of response headers. On the lower-bandwidth DSL link, in which the upload link is only 375 Kbps, request header compression in particular, led to significant page load time improvements for certain sites (i.e. those that issued large number of resource requests). We found a reduction of 45 - 1142 ms in page load time simply due to header compression.
Upvotes: 11
Reputation: 21510
Shortly, I would say no and no. HTTP was invented, IMHO, to do away with proprietary server/client communication. Does that mean you can't still do proprietary server/client communication? No. Go ahead and write your own server and protocol, open up whatever port you want and have a ball.
Upvotes: 0