Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> HTTP as easy examples are simple blocking request-response

Well HTTP/1.1, HTTP/2 (and HTTP/3) surely not. You can make more request on a single channel and also the server can send you data you didn't requested (PUSH). Otherwise a modern site with a ton of resources would either take a minute to load or have to open 100 connections to the server.

MQTT is another example of protocol that works this way.

> "every" is just not true

Every protocol that was born after the 90s, let's rephrase it like that.



The issue was not making multiple requests on a single connection, but that IMAP can interleave and reorder responses. It's still not that hard, but it's a change.

HTTP/1.1 does not allow data you didn't request in random places. You need to specifically request a feed of server sent events. In every other instance you know that the response that come back will be replies to a request (in the case of SSE's, the reply will just keep coming as long as the server sends events), and in the same order as the requests. That means that a "dumb" client can just synchronously send requests and read the reply in a string request/response manner without worrying about getting something else back. Neither of those constraints hold for IMAP.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: