How is the latest architecture of jupyter

Through this article I learned about the architecture of jupyter notebook, which uses the websocket protocol to interact with the notebook server

But in this picture, the jupyter server is gone, instead there is a jupyter client. Does the notebook interact with the jupyter client through zeroMQ? Is websocket abandoned?
Maybe this picture is out of date

In this article, I found that jupyter server still exists

Yep, jupyter-server is alive and well, and presently is the home of the zmq <-> websocket code. It’s possible it might become further unbundled in the future.

The notebook server, from which jupyter_server was originally forked, will likely not be supported much longer.

As to the “freshness” of docs: we do the best we can, but you’re much more likely to get an accurate look at the truth using a tool such as pylint's pyreverse… though some boundaries (like jupyter_clientipyclient) are very difficult to uncover because of “shelling out”.