diff --git a/assessment.md b/assessment.md new file mode 100644 index 0000000..7ce1033 --- /dev/null +++ b/assessment.md @@ -0,0 +1,37 @@ +# Server Lab Assessment + +Cory, + +Nice work! The poem server works, though there are a few edge cases causing +500 errors--mostly in handling cases where the result is not found. A few +thoughts on your answers to questions: + +> Another situation it might be useful to run the server on my own computer +> where I'm the only client on the same computer is to test whether the +> serve works the way it should before deploying it to a remote server or +> allowing others elsewhere to access it remotely. + +Yes! In fact, apps like Zoom often run small servers locally. When you open a +zoom link in an email, your calendar, or a web browser, the link actually +makes a request from your local machine to the zoom server on the same machine-- +which then kicks zoom into gear and opens up the call. + +> With google docs, I assume every time something is typed the location of the +> character typed as well as what was typed is posted as a change to the +> document on the server, so a route might be "change." Given that google docs +> allows for near-real-time remote collaboration, google docs likely gets the +> document extraordinarily frequently to make it appear that changes happen +> nearly instantly, so a route might be "show." Such a route might also +> simultaneously check if the user has access, as a user whose access is +> removed can no longer view or edit the document. + +Indeed, real-time collaboration implies that changes are being sent to the +server right away. It's not unusual for a webpage (particularly one bloated +with ads and spyware) to make hundreds of HTTP requests in the course of opening +a single page--but each request has to send its own headers, and has some +other overhead. So real-time collaboration uses a newer protocol called +WebSockets, which opens up one stream, and continuously sends data back +and forth. Same with video conferencing. WebRTC is an exciting new protocol +which makes it much easier to build real-time collaboration into all kinds of +apps, and to have the streaming go peer-to-peer rather than all through a central +server.