### Why does Jupyter notebook need a server? It can feel a bit strange that a tool for writing code needs a "server" running on your own computer, especially when you aren't actually on the internet. The reason is that Jupyter Notebook isn't a traditional "app" (like Notepad or Word); it is a **web application**. Here is the breakdown of why that server is the "brain" of the operation. ### 1. The "Translator" (The Kernel) [[jupyter. kernel]] Your browser (Chrome, Firefox, etc.) is great at displaying text and images, but it has no idea how to "speak" Python. - The **Server** acts as the middleman. - When you press **Shift + Enter**, the browser sends that code to the server. - The server hands the code to a **Kernel** (the Python engine), gets the result back, and sends it back to your browser to display. ### 2. File Management Standard websites can't just reach into your hard drive and delete or save files—that would be a massive security risk. - The **Jupyter Server** has permission to access your folders. - It reads your `.ipynb` files, converts them into a format the browser understands (JSON), and saves your changes as you type. ### 3. Decoupling (Running code remotely) Because it uses a server/client model, you don't actually have to run the code on your own machine. - You could have a supercomputer in a different room (or a different country) running the **Server**. - You connect to it via your **Browser** from a cheap laptop. - The server does all the heavy lifting, but it looks like you’re working locally. --- ### Why is this different from Obsidian? Obsidian is a "local-first" desktop application built on **Electron**. It has the "server-like" logic built directly into the app window itself. Jupyter was designed from the ground up to be shared and accessed over networks, which is why it keeps the "Server" and the "Interface" as two separate pieces. > **Fun Fact:** If you see a URL starting with `http://localhost:8888`, that "localhost" is just a nickname for your own computer's internal network address. ---