Hey, sorry for the late reply. I turns out I wasn't actually subscribed to the list. I saw this question got referred to in b2g-internal.
The core flyweb initiative tries to take a look at the full-stack problem of using browsers to discover and consume services. A number of existing standards fill in pieces of that story, but there are many details missing.
UPNP has a discovery spec (which could be used by flyweb as an underlying discovery protocol), as well as schema definitions for HTTP-based local-area service profiles (lights, devices, home entertainment, etc.).
The discovery spec is fine. It's a different approach to the same discovery functionality provided by Bonjour/Zeroconf/DNS-SD+mDNS, but ultimately provides the same benefits.
These protocols, however, don't cover all the semantic requirements we expect to run HTTP sessions, though. Let's say you get a "
http://FOO.local/" URL for a service named FOO. Does the browser send cookies stored from the last interaction with "FOO.local"? How can it know that this new service is the same as the last one with the same name?
Like the above, there are a number of semantics that need to be specified and standardized in an implementation. Part of that specification will be underlying discovery protocols, and transport mechanisms (e.g. bluetooth) - to enable a "web session" to operate in a local-area discovery-based environment.
I see UPNP, DNS-SD, and other interop standards as existing general components. To utilize them well, they need to be embedded within a larger specification for the extra pieces needed for web sessions to work - e.g. certificate-based identity, advertising a rich badge instead of just a name, mechanisms for establishing device identity, abstracting over non-TCP transport protocols etc.