Experimental protocol by David Halasz standing for 'Protocol Upgrade Raw Request'. Mirrors the WebSocket handshake — an HTTP GET with Upgrade — but instead of upgrading to WebSocket downgrades to raw TCP, tunneling arbitrary TCP-based protocols (VNC, SSH, etc.) through an HTTP endpoint. Benefit: HTTP routing, headers, cookies, TLS, and any Rack middleware still apply, so it can be mounted as a normal Rails/Rack route. Drawback: because browsers cannot open TCP sockets, today it needs a browser plug-in plus a native client binary; may become pure-browser once the W3C draft for permissioned TCP connections ships. Demoed with a Puma server routing VNC and SSH connections from a native client into containers running inside VirtualBox. Ruby server API looks like Rack: pass a block receiving host/port for the upstream endpoint.