Guiding principle: put as much in the URL as is reasonable.

Things that happen:

Notebook:

Worksheet:

Object

JSON <---> HTTP

HTTP Requests:

Structure of URL:

/home/ username / worksheet_num / cell_id /..

JSON Messages:

Database Calls:

Example

Here's an example of the sequence of events when a person evaluates the following input:

print 2
sleep(10)
print 3
graph_editor()

The cast is as follows: