# Project Server Notes ## Checkpoint 1 1. Lots of software today connects to remote servers, and can't work offline. What are some advantages of using a program or an app which uses a remote server? What are some advantages of using a program or an app which is completely local? If the app uses a remote server, some advantages are it might be able to get data it would not have otherwise and if a computer does not have a lot of power to run a task the server could do it. If the app uses a completely local app then it does not need to be connected to the internet. 2. You just ran a server on your own computer, and connected to it as a client on the same computer. In what other situations might it be useful to run a server on your computer, where you're the only client, on the same computer? Maybe testing a server before making it public. I cannot think of any other reason. ## Checkpoint 2 3. Choose a program (Steam), web app (Google Docs), or app (Weather) that you use frequently. You can't observe the calls this program is making to its server (unless you have fancy tools), but you can infer some of the calls based on the program's behavior. Describe a few routes which you think may exist for your chosen program's backend server. 4. In your own words, what is an exception? When might it be useful to handle an exception? When is it better not to handle an exception, and instead let the program crash?