Intent to implement: alternative services

34 views
Skip to first unread message

Bence Béky

unread,
Jun 24, 2015, 9:41:39 AM6/24/15
to Chromium-dev, Ryan Hamilton
== Contact e-mails ==

"Bence Béky" <b...@chromium.org>
"Ryan Hamilton" <r...@chromium.org>

== Spec ==


== Summary ==

Alternative services allow an origin serving an http:// or https:// resource to
nominate additional servers that the client can choose to request the resource
from instead of the origin when making subsequent requests.

== Motivation ==

The most important application is enhanced connection pooling.  For example, if
the user visits mail.example.com in a browser, that server might let the browser
know that the same service can also be requested from www.example.com.  Next
time, the user might first open a connection to www.example.com.  When they open
mail.example.com in the same browser session, the browser can pool to the
existing connection to www.example.com to request the same service.  This can
cut down on a number of round trips, for example, the ones that would normally
be required for DNS resolution, TCP connection establishment, and TLS
negotiation.

Other uses may include load balancing, or offering a service with a different
protocol which the client may prefer given user settings or local network
characteristics.

== Compatibility risk ==

Alternative service advertisements are sent by the server.  From the client
side, there is no compatibility risk, because a server not supporting
alternative services will not send such advertisements.  From the server side,
it has to be considered that clients not supporting alternative services but
otherwise compliant with the HTTP or HTTP/2 protocol specification will ignore
such advertisements.

== Tracking bug ==




-- Bence

Chris Bentzel

unread,
Jun 24, 2015, 12:56:53 PM6/24/15
to b...@chromium.org, Chromium-dev, net...@chromium.org, Ryan Hamilton
+net...@chromium.org

For other browser support, Mozilla actually shipped Alt-Svc support in 37.0, although they did remove in 37.0.1 due to a security issue.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

David Benjamin

unread,
Jun 24, 2015, 1:35:10 PM6/24/15
to Chris Bentzel, b...@chromium.org, Chromium-dev, net...@chromium.org, Ryan Hamilton
To that end, we should make sure to be very very careful with this code. Mixing hostnames around like this, particularly with all the pooling that we do, has a large potential to produce similar kinds of problems. Ideally strive for not just "I checked all the cases I could think of and it works" but "the codepaths and APIs contracts are so clear it's obvious that it works and how future extensions would ensure it stays working".

--
You received this message because you are subscribed to the Google Groups "net-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to net-dev+u...@chromium.org.
To post to this group, send email to net...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/net-dev/CAAuiYA9umLNR6iOe-WvCEZviRLB%3D2paSMKdfRMkLk8%2BKTCm6Yg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages