0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00

Completely remove SPDY

This commit is contained in:
Loïc Hoguin 2016-03-06 17:48:35 +01:00
parent b370442a63
commit 7bdd710849
15 changed files with 21 additions and 766 deletions

View file

@ -33,7 +33,7 @@ capitalize_hook(Status, Headers, Body, Req) ->
cowboy_req:reply(Status, Headers2, Body, Req).
----
Note that SPDY clients do not have that particular issue
Note that HTTP/2 clients do not have that particular issue
because the specification explicitly says all headers are
lowercase, unlike HTTP which allows any case but treats
them as case insensitive.

View file

@ -106,7 +106,7 @@ new messages, and perform the operations required by only activating
the required parts of the system.
The more recent Web technologies, like Websocket of course, but also
SPDY and HTTP/2.0, are all fully asynchronous protocols. The concept
HTTP/2.0, are all fully asynchronous protocols. The concept
of requests and responses is retained of course, but anything could
be sent in between, by both the client or the browser, and the
responses could also be received in a completely different order.

View file

@ -4,7 +4,7 @@
Cowboy is a small, fast and modular HTTP server written in Erlang.
Cowboy aims to provide a complete HTTP stack, including its derivatives
SPDY, Websocket and REST. Cowboy currently supports HTTP/1.0, HTTP/1.1,
Websocket and REST. Cowboy currently supports HTTP/1.0, HTTP/1.1, HTTP/2,
Websocket (all implemented drafts + standard) and Webmachine-based REST.
Cowboy is a high quality project. It has a small code base, is very

View file

@ -180,35 +180,21 @@ A Websocket connection can be used to transfer any kind of data,
small or big, text or binary. Because of this Websocket is
sometimes used for communication between systems.
=== SPDY
=== HTTP/2
SPDY is an attempt to reduce page loading time by opening a
HTTP/2 is an attempt to reduce page loading time by opening a
single connection per server, keeping it open for subsequent
requests, and also by compressing the HTTP headers to reduce
the size of requests.
SPDY is compatible with HTTP/1.1 semantics, and is actually
HTTP/2 is compatible with HTTP/1.1 semantics, and is actually
just a different way of performing HTTP requests and responses,
by using binary frames instead of a text-based protocol.
SPDY also allows the server to send extra responses following
HTTP/2 also allows the server to send extra responses following
a request. This is meant to allow sending the resources
associated with the request before the client requests them,
saving latency when loading websites.
SPDY is an experiment that has proven successful and is used
as the basis for the HTTP/2.0 standard.
Browsers make use of TLS Next Protocol Negotiation to upgrade
to a SPDY connection seamlessly if the protocol supports it.
The protocol itself has a few shortcomings which are being
fixed in HTTP/2.0.
=== HTTP/2.0
HTTP/2.0 is the long-awaited update to the HTTP/1.1 protocol.
It is based on SPDY although a lot has been improved at the
time of writing.
HTTP/2.0 is an asynchronous two-ways communication channel
between two endpoints.
Browsers make use of TLS Application-Layer Protocol Negotiation
extension to upgrade to an HTTP/2 connection seamlessly if the
server supports it.

View file

@ -55,7 +55,7 @@ HTTP/1.1 allows the client to request that the server
keeps the connection alive. This mechanism is described
in the next section.
SPDY is designed to allow sending multiple requests
HTTP/2 is designed to allow sending multiple requests
asynchronously on the same connection. Details on what
this means for your application is described in this
chapter.
@ -126,9 +126,9 @@ static files for example.
This is handled automatically by the server.
=== Asynchronous requests (SPDY)
=== Asynchronous requests (HTTP/2)
In SPDY, the client can send a request at any time.
In HTTP/2, the client can send a request at any time.
And the server can send a response at any time too.
This means for example that the client does not need
@ -142,7 +142,7 @@ Cowboy creates a new process for each request, and these
processes are managed by another process that handles the
connection itself.
SPDY servers may also decide to send resources to the
HTTP/2 servers may also decide to send resources to the
client before the client requests them. This is especially
useful for sending static files associated with the HTML
page requested, as this reduces the latency of the overall