News for hackers. Stuff that matters.
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @01:06PM (#45956160)
I think WebTransport is cool.

What worries me is that some people involved in standardisation seem to be of the opinion that WebTransport supersedes WebSocket. WS has become my go-to transport when I just need to be able to reliably send messages back and forth, whether or not the web is involved at all, and I don't see WebTransport as a replacement for that use case. I hope WS sticks around forever.

Also, it's messed up that WT is only available in HTTPS. There are so many cool use cases for web technologies in local contexts where HTTPS is not a practical option, it's a shame most new technologies are arbitrarily banned from those use cases.

Re:WebTransport is almost here to allow UDP-like exchange in... by super256 on Monday November 17, 2025 @01:25PM (#45956358)
I just read the MDN article of WS and you are right: WT is indeed treated as the successor of WS (in many use cases), which I did not expect at all: 'Additionally, the WebTransport API is expected to replace the WebSocket API for many applications. WebTransport is a versatile, low-level API that provides backpressure and many other features not supported by either WebSocket or WebSocketStream, such as unidirectional streams, out-of-order delivery, and unreliable data transmission via datagrams.'

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_...

Re:WebTransport is almost here to allow UDP-like exchange in... by Aurornis on Monday November 17, 2025 @02:08PM (#45956856)
Designed a protocol to supersede an old one is a good design goal. It makes encompassing all of the previous functionality and use cases a design priority.

It doesn't imply that websockets would be deprecated by WebTransport. It's a goal to make WebTransport an easy choice.

> Also, it's messed up that WT is only available in HTTPS. There are so many cool use cases for web technologies in local contexts where HTTPS is not a practical option

WebTransport is relatively heavy compared to websockets. Once you consider all of the layers, HTTP/3, possible HTTP/2 fallback, and transports, adding TLS is minimal overhead for code size.

For contexts where setting up certificates is not practical, I assume the workaround will be to generate a self-signed certificate and then tell the client to ignore certificate validation problems.

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @02:21PM (#45957069)
Performance isn't really my main concern; I have some projects with configuration web GUIs running on MCUs where it could matter (especially the code size to include mbedtls), but most of the stuff I care about is on Linux machines which are powerful enough that it doesn't matter.

See my response to the certificates thing here: https://news.ycombinator.com/item?id=45820782#45956556

Re:WebTransport is almost here to allow UDP-like exchange in... by Aurornis on Monday November 17, 2025 @02:33PM (#45957265)
> I have some projects with configuration web GUIs running on MCUs where it could matter

I don’t think these are a fit for an entire HTTP/3 or HTTP/2 stack with WebTransport anyway.

WebSockets is fine for these applications and won’t be going away.

> See my response to the certificates thing here

If you don’t care about validating the certificate you can skip all of the renewals and DNS setup and everything else. The client will complain that it can’t verify the certificate against anything trusted and you tell the client that’s okay, just ignore it and continue.

If you don’t care about encryption then you also don’t care about setting up the certificate properly. You put something in there to enable the connection and then have the client ignore the fact that it’s not verified.

If your complaint is that browsers show warning signs for certs that can’t be validated and those might scare other users, that’s not going away.

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @02:37PM (#45957320)
I don't think you understand. I don't want to make services which, by design, show scare screens to people and make it sound like they're being hacked. It's better to use HTTP and restrict myself to features which work in "insecure" contexts.
Re:WebTransport is almost here to allow UDP-like exchange in... by layla5alive on Monday November 17, 2025 @02:14PM (#45956967)
There are material performance overheads to TLS
Re:WebTransport is almost here to allow UDP-like exchange in... by kixelated on Monday November 17, 2025 @01:56PM (#45956717)
I like to frame WebTransport as multiple WebSocket connections to the same host, but using a shared handshake.

It's common to multiplex a WebSocket connection but you don't need that with WebTransport, while also avoiding head-of-line-blocking.

But yeah I wish WebTransport had a better TCP fallback. I still use WebSocket for that.

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @02:12PM (#45956915)
The thing is, I very rarely (or arguably never) have a use case which requires that one client has multiple connections to the same server. The thing I want is almost always to have a bidirectional stream of messages where messages arrive in order. Essentially a simple message envelope protocol on top of TCP.
Re:WebTransport is almost here to allow UDP-like exchange in... by kixelated on Monday November 17, 2025 @03:16PM (#45957782)
For sure, if you want an ordered/reliable stream then WebSocket is ideal. WebTransport is useful when you also want prioritization and semi-reliable networking, similar in concept to WebRTC data channels.
Re:WebTransport is almost here to allow UDP-like exchange in... by gr4vityWall on Monday November 17, 2025 @01:53PM (#45956679)
Agreed. WebSocket works perfectly when someone wants a lightweight message-based protocol on top of TCP and doesn't want to implement it themselves, potentially in multiple languages. It being originally browser tech became a minor detail.
Re:WebTransport is almost here to allow UDP-like exchange in... by yladiz on Monday November 17, 2025 @01:14PM (#45956246)
You should be able to use things like WebTransport locally, localhost is considered a secure context.
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @01:17PM (#45956272)
192.168.0.x is not though
Re:WebTransport is almost here to allow UDP-like exchange in... by addisonj on Monday November 17, 2025 @02:20PM (#45957048)
not disagreeing with your point here, or in the follow-ups of the pain of https for "local network" apps... but I really wish that we could get to a place where we could get away from this distinction. Obviously, ipv6 is not that easy or realistic, but that really is, imho, the "right" long term answer.

Having gone down the path of being able to just spin up "local" services that get a publicly routable (but most often firewalled off) ipv6 IPs and then good DNS integration is really neat... but still requires lots of technical chops. I wish that weren't the case

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @02:24PM (#45957117)
I work with embedded Linux stuff and MCU stuff where we make a significant number of units. Even in an IPv6 world, there's no way each of those would get their own public static IPv6 address with an associated DNS record just for the purpose of being able to spin up a debug web interface. It's explicitly desirable for these devices to not be reachable through the public Internet.
Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @03:30PM (#45957933)
Well then you set your firewall to default-deny. It doesn't make sense to hobble the internet just because NATs are inadvertently a convenient firewall.
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @03:34PM (#45957976)
And how do I assign the devices globally unique IP addresses? SLAAC is only for local addresses, right?
Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @03:46PM (#45958071)
Wouldn't IPv6 work for that?
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @03:48PM (#45958092)
I don't know what you mean. I asked what process you would use to assign IPv6 addresses.
Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @04:01PM (#45958233)
Maybe I'm not understanding the use case. Why can't you use DHCPv6 or SLAAC wherever the device is deployed?
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @04:06PM (#45958297)
DHCP doesn't give you a globally unique IP address...

If you're suggesting getting using a non-unique DHCP-assigned local IP address, I don't understand what difference you think v6 does compared to v4.

Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @04:12PM (#45958354)
DHCP does give you a globally unique IP address when your ISP has allocated a prefix to your router, that's how all the Internet-connected IPv6 devices get their addresses. Where is our misunderstanding?
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @04:20PM (#45958458)
...

For many of these systems, I don't control the user's router. I don't know how you imagine I'm supposed to create DNS records for each device when they're assigned some random IP address at some random network I don't control.

Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @04:31PM (#45958567)
Have the device ping a central server and create randomword.centralserver.com, for example. However, if the problem is the DNS record, why has this thread been exclusively about globally routable IP addresses until now?
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @04:42PM (#45958688)
In https://news.ycombinator.com/item?id=45957048, addisonj suggested that the problem stems from the distinction from "local" and "global", and that with IPv6, you don't need that distinction.

That quite naturally flows into the question: okay, how are these devices supposed to get global IPv6 addresses then?

Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @04:47PM (#45958726)
Yes, with IPv6, there are are enough addresses that you don't need to use NAT. All IPv6 devices that are connected to the internet have global IPv6 addresses. I don't quite understand the question here, it seems to me that we're asking "but how could we possibly do this entirely mundane everyday thing?".
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @04:47PM (#45958728)
Not all devices connected to the Internet have globally unique IPv6 addresses, SLAAC and often DHCPv6 makes local v6 addresses. Where's the globally unique IPv6 address supposed to be coming from?
Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @04:52PM (#45958774)
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @04:55PM (#45958801)
So you're talking about being assigned temporary globally unique addresses, if the network the device happens to be on at any given time happens to be set up in a certain way?

I still don't understand how this is supposed to help.

Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @05:04PM (#45958893)
In https://news.ycombinator.com/item?id=45957048, addisonj suggested that the problem stems from the distinction from "local" and "global", and that with IPv6, you don't need that distinction.

This helps because you don't have a NAT distinguishing between "local" and "global", all devices are in the global namespace.

All the comments after that have been about solving an arbitrary and ill-defined problem with goalposts that keep shifting from globally unique addresses to DNS hostnames to permanent addresses.

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @05:11PM (#45958956)
How does getting a temporary globally unique IPv6 address from DHCPv6 solve any of the issues surrounding how new web technologies aren't available in "insecure contexts"?

I assumed that the suggestion was that you could assign a device a permanent IPv6 address, because I can easily imagine that as a part of a solution to the HTTPS issue. When every device has a permanent IPv6 address, and if every device is reachable through said IPv6 address, you could, in principle, also automate assigning each device a DNS record and set up SSL that way. It would be a pretty terrible solution that's way more complicated than just using a local address over HTTP, but it makes sense.

I have no idea how to even begin translating maybe getting temporary unique addresses through DHCPv6 into a solution to the HTTPS issue.

Re:WebTransport is almost here to allow UDP-like exchange in... by stavros on Monday November 17, 2025 @05:21PM (#45959050)
You can get a static prefix from your ISP. After you get the static prefix, it's up to your local network to make the local parts of the address static. There's no reason why your DHCP server can't give the device a static address, it's not like it's going to run out.

Then again, you don't need a static address to get a TLS certificate. You don't need an address at all! All you need is a domain name.

Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @05:24PM (#45959085)
Some of the devices I'm talking about are running on my own residential internet connection or my sister's. Some are running on whatever corporate or residential or 4G network happens to exist where I need to interact with them. Some are running on whatever network the user has.

How does your proposed suggestion of getting a static prefix from an ISP apply to those situations? Should I start calling customers to get them to ask their ISP for a static IP address?

> Then again, you don't need a static address to get a TLS certificate. You don't need an address at all! All you need is a domain name.

I don't understand what you think this solves.

Re:WebTransport is almost here to allow UDP-like exchange in... by vscode-rest on Monday November 17, 2025 @01:26PM (#45956365)
port fwd through localhost?
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @01:34PM (#45956462)
You're missing the point. The useful thing is to run some service on the LAN, be it a web interface for a NAS, a web interface to control some lighting, a web interface into a media PC to do remote desktop type stuff or control media playback, a debug interface into some embedded product I'm working on, or a whole host of other things. The thing that makes web technologies useful for this is that it Just Works, from any other machine on the LAN (my laptop, my phone, a guest's phone, etc).

By making technologies available only in a "secure context", they're blocking them out of this whole category of use cases.

Re:WebTransport is almost here to allow UDP-like exchange in... by jimvdv on Monday November 17, 2025 @01:39PM (#45956513)
You can get a free cert from letsencrypt using their dns challenge. No need to expose to the internet. Add a DNS record that points to the address of your LAN and it’ll make things even easier for your guests.
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @01:43PM (#45956556)
Not interested in going through the effort of setting up a DNS record, go through the whole DNS challenge process, and go through a periodic manual renewal process, for every stupid little thing (many even just temporary things which don't even have a static DHCP lease). There's literally no advantage for my use case, except that I'd be allowed by the web standard bodies to use their shiny new toys that they artificially lock away otherwise.

For the permanent installation case, it's typically easier to use mDNS domains since they're shorter. 'mediapc.local' is easier for guests to type than 'mediapc.local.mort.coffee' or whatever I'd end up with.

What would be a good solution is self-signed certificates, but that too is a non-option until all browser vendors downgrade the warning from a "Someone is trying to hack you!" style scare screen to a more informative "this is a self signed certificate, do you trust it?" style warning screen.

Re:WebTransport is almost here to allow UDP-like exchange in... by sroussey on Monday November 17, 2025 @02:05PM (#45956821)
Self signed for 192.x would be one thing, self signed for gmail.com would be another.
Re:WebTransport is almost here to allow UDP-like exchange in... by mort96 on Monday November 17, 2025 @02:16PM (#45956993)
I would be perfectly happy with a solution where browsers show a scare screen for self-signed certificates on the public internet but a benign-looking "Do you want to trust this certificate?" screen for 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 or mDNS .local domains.
Re:WebTransport is almost here to allow UDP-like exchange in... by otabdeveloper4 on Monday November 17, 2025 @02:07PM (#45956836)
> you VILL spend effort to placate the corporate letencrypt gods with pointless encantations and you VILL like it

Gee thanks corporate overlords, whatever would we do without your cloying efforts to provide quote-unquote-"security"?