RE: WebSocket ALPN identifier

I keep hearing about HTTP over WebSockets from various sources, and I confess I'm still a little mystified as to the problem it's solving.  I'm coming around to the idea that we should define how to support WebSockets over HTTP/2 or HTTP/QUIC, but I'm still not sold on HTTP/WebSockets.

At any rate, if you go there (whether as a redirect or an Alt-Svc), I'd try to avoid the confusion of re-using the ws[s] tokens -- those mean WebSockets, and HTTP/WebSockets would be something new and different.

-----Original Message-----
From: Lucas Pardue [] 
Sent: Wednesday, August 23, 2017 11:11 AM
To: Mike Bishop <>; HTTP Working Group <>
Subject: RE: WebSocket ALPN identifier

Hi Mike,

When you put it like that, I didn't explain myself too clearly, apologies :)

What I imagine is something more like HTTP-over-WebSockets, with a hand-wavy mapping layer. I realise this sounds strange. 

Deployment would see a client talk to a standard h1.1 or h2 endpoint for request routing. This directs them to a different endpoint that supports WebSockets.

On reflection this could potentially be achieved by rewriting a resource to include ws or wss schemes, or using redirects. However, alt-svc appeared a better fit initially.

From: Mike Bishop []
Sent: 23 August 2017 18:45
To: Lucas Pardue; HTTP Working Group
Subject: RE: WebSocket ALPN identifier

My initial reaction is “yes” to both questions.  😊

So the idea is that HTTP clients make a request to an endpoint that might be a WebSocket endpoint, but it instead directs them to make a request elsewhere using HTTP/1.1 which will upgrade to WebSockets?  Why wouldn’t it just Alt-Svc the HTTP resource that the client already expects to support WebSocket upgrades?

Or are you actually talking about HTTP-over-WebSockets?

From: Lucas Pardue []
Sent: Wednesday, August 23, 2017 10:33 AM
To: HTTP Working Group <>
Subject: WebSocket ALPN identifier

Bare with me,

Imagine a hypothetical system that wants to use Alt-Svc to direct clients to a particular WebSocket endpoint that can deliver appropriately framed HTTP resources.

To support this, I’m thinking of using the ALPN identifier(s) “ws” and “wss”. Since they don’t already exist in the IANA registry<>, I have thought about a short I-D similar to draft-ietf-rtcweb-alpn<>.

I do not intend for the proposed identifiers to be used for actual TLS ALPN during handshake. However, I don’t want to preclude that if there’s a desire to do so.

Is this idea too far in the realm of absurdity? Is HTTPbis the appropriate WG to pursue this in?


Received on Wednesday, 23 August 2017 18:17:14 UTC